<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
目前生產部署Kubernetes叢集主要有兩種方式:
Kubeadm是一個K8s部署工具,提供kubeadm init和kubeadm join,用於快速部署Kubernetes叢集。
從github下載發行版的二進位制包,手動部署每個元件,組成Kubernetes叢集。
本實驗採用kubeadm的方式搭建叢集。
伺服器要求:
軟體環境:
伺服器規劃:(本實驗採用虛擬機器器)
# 關閉防火牆 systemctl stop firewalld systemctl disable firewalld # 關閉selinux sed -i 's/enforcing/disabled/' /etc/selinux/config # 永久 setenforce 0 # 臨時 # 關閉swap swapoff -a # 臨時 sed -ri 's/.*swap.*/#&/' /etc/fstab # 永久 # 根據規劃設定主機名 hostnamectl set-hostname <hostname> # 在master新增hosts cat >> /etc/hosts << EOF 192.168.178.171 k8s-master 192.168.178.172 k8s-node1 192.168.178.173 k8s-node2 EOF # 將橋接的IPv4流量傳遞到iptables的鏈 cat > /etc/sysctl.d/k8s.conf << EOF net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 EOF sysctl --system # 生效 # 時間同步 yum install ntpdate -y ntpdate time.windows.com 注意:虛擬機器器不管關機還是掛起,每次重新操作都需要更新時間進行同步。
安裝docker:
wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo yum -y install docker-ce systemctl enable docker && systemctl start docker
設定映象下載加速器:
vim /etc/docker/daemon.json { "registry-mirrors": ["https://b9pmyelo.mirror.aliyuncs.com"], "exec-opts": ["native.cgroupdriver=systemd"] } systemctl restart docker docker info #檢視docker資訊,進行確認
新增阿里雲軟體源:
cat > /etc/yum.repos.d/kubernetes.repo << EOF [kubernetes] name=Kubernetes baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64 enabled=1 gpgcheck=0 repo_gpgcheck=0 gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg EOF
安裝kubeadm、kubelet、kubectl:
yum install -y kubelet-1.23.0 kubeadm-1.23.0 kubectl-1.23.0 systemctl enable kubelet
kubeadm init --apiserver-advertise-address=192.168.178.171 --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.23.0 --service-cidr=10.96.0.0/12 --pod-network-cidr=10.244.0.0/16 --ignore-preflight-errors=all
初始化之後,會輸出一個join命令,先複製出來,node節點加入master會使用。
mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config
檢視工作節點:
kubectl get nodes
注:由於網路外掛還沒有部署,還沒有準備就緒 NotReady,繼續操作。
預設token有效期為24小時,當過期之後,該token就不可用了。這時就需要重新建立token,可以直接使用命令快捷生成:
kubeadm token create --print-join-command
Calico是一個純三層的資料中心網路方案,是目前Kubernetes主流的網路方案。
下載YAML:
wget https://docs.projectcalico.org/manifests/calico.yaml
下載完後還需要修改裡面定義Pod網路(CALICO_IPV4POOL_CIDR),與前面kubeadm init的 --pod-network-cidr指定的一樣。
修改完後檔案後,進行部署:
kubectl apply -f calico.yaml kubectl get pods -n kube-system #執行結束要等上一會才全部running
等Calico Pod都Running後,節點也會準備就緒。
注:以後所有yaml檔案都只在Master節點執行。
安裝目錄:/etc/kubernetes/
元件組態檔目錄:/etc/kubernetes/manifests/
Dashboard是官方提供的一個UI,可用於基本管理K8s資源。
YAML下載地址:
wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.4.0/aio/deploy/recommended.yaml
預設Dashboard只能叢集內部存取,修改Service為NodePort型別,暴露到外部:
vi recommended.yaml ... kind: Service apiVersion: v1 metadata: labels: k8s-app: kubernetes-dashboard name: kubernetes-dashboard namespace: kubernetes-dashboard spec: ports: - port: 443 targetPort: 8443 nodePort: 30001 selector: k8s-app: kubernetes-dashboard type: NodePort ...
kubectl apply -f recommended.yaml kubectl get pods -n kubernetes-dashboard
存取地址:https://NodeIP:30001
建立service account並繫結預設cluster-admin管理員叢集角色:
# 建立使用者 kubectl create serviceaccount dashboard-admin -n kube-system # 使用者授權 kubectl create clusterrolebinding dashboard-admin --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-admin # 獲取使用者Token kubectl describe secrets -n kube-system $(kubectl -n kube-system get secret | awk '/dashboard-admin/{print $1}')
使用輸出的token登入Dashboard。
注:
以上為本人實際搭建過程中的經驗總結
到此這篇關於部署k8s叢集的超詳細實踐的文章就介紹到這了,更多相關k8s叢集搭建內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45