網(wǎng)站開發(fā)軟件系統(tǒng)阿里云域名注冊(cè)流程
K8S集群重新初始化
- 0、當(dāng)前環(huán)境
- 1、master節(jié)點(diǎn)
- 1.1、在master節(jié)點(diǎn)執(zhí)行下面reset命令:
- 1.2、手動(dòng)清除配置信息,這一步很關(guān)鍵:
- 1.3、重新引導(dǎo)集群
- 1.4、創(chuàng)建配置目錄,并復(fù)制權(quán)限配置文件到用戶目錄下:
- 1.5 查看集群狀態(tài)
- 1.6 安裝Calico網(wǎng)絡(luò)插件
- 2、work節(jié)點(diǎn)
- 2.1、重置工作節(jié)點(diǎn)
- 2.2、手動(dòng)刪除目錄
- 2.3、重新加入集群
- 3、檢驗(yàn)效果
在引導(dǎo)k8s集群的過(guò)程時(shí)可能因?yàn)檫@個(gè)或那個(gè)的原因?qū)е滦枰匦乱龑?dǎo)集群 。
下面整理了我在實(shí)際工作中初始化k8s集群的詳細(xì)過(guò)程。
0、當(dāng)前環(huán)境
k8s環(huán)境部署總覽
ip地址 | 類型 | 操作系統(tǒng) | 服務(wù)配置 |
---|---|---|---|
192.168.162.31 | Master01 | Centos7.6 | 2核CPU 2G內(nèi)存 20G硬盤 |
192.168.162.41 | node1 | Centos7.6 | 2核CPU 2G內(nèi)存 20G硬盤 |
192.168.162.42 | node2 | Centos7.6 | 2核CPU 2G內(nèi)存 20G硬盤 |
1、master節(jié)點(diǎn)
1.1、在master節(jié)點(diǎn)執(zhí)行下面reset命令:
kubeadm reset
//過(guò)程會(huì)詢問(wèn)是否重置,輸入y然后回車
1.2、手動(dòng)清除配置信息,這一步很關(guān)鍵:
cd ~ 進(jìn)入根目錄ll -a 查看是否存在.kube文件
rm -rf /root/.kubesystemctl restart docker ## 重啟docker
systemctl restart kubelet ## 重啟kubeletrm -rf /etc/cni/net.d
1.3、重新引導(dǎo)集群
kubeadm init xxxxxx
例如,具體按你的為準(zhǔn):
kubeadm init \
--apiserver-advertise-address=192.168.162.31 \
--control-plane-endpoint=k8s-master01-31 \
--image-repository registry.cn-hangzhou.aliyuncs.com/lfy_k8s_images \
--kubernetes-version v1.20.9 \
--service-cidr=10.96.0.0/16 \
--pod-network-cidr=192.168.0.0/16
初始化master節(jié)點(diǎn)成功后,拷貝出關(guān)鍵信息:(注意是你自己的信息)
Your Kubernetes control-plane has initialized successfully!To start using your cluster, you need to run the following as a regular user:mkdir -p $HOME/.kubesudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/configsudo chown $(id -u):$(id -g) $HOME/.kube/configAlternatively, if you are the root user, you can run:export KUBECONFIG=/etc/kubernetes/admin.confYou should now deploy a pod network to the cluster.
Run "kubectl apply -f [podnetwork].yaml" with one of the options listed at:https://kubernetes.io/docs/concepts/cluster-administration/addons/You can now join any number of control-plane nodes by copying certificate authorities
and service account keys on each node and then running the following as root:kubeadm join k8s-master01-31:6443 --token m7xgx0.h8m6si6ws2p0r9n6 \--discovery-token-ca-cert-hash sha256:f4d3af365aeabab83cf124e5a84aeb8260ae6c0d54a7f5d87928fab37a519aea \--control-plane Then you can join any number of worker nodes by running the following on each as root:kubeadm join k8s-master01-31:6443 --token m7xgx0.h8m6si6ws2p0r9n6 \--discovery-token-ca-cert-hash sha256:f4d3af365aeabab83cf124e5a84aeb8260ae6c0d54a7f5d87928fab37a519aea
1.4、創(chuàng)建配置目錄,并復(fù)制權(quán)限配置文件到用戶目錄下:
mkdir -p $HOME/.kubesudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/configsudo chown $(id -u):$(id -g) $HOME/.kube/config
1.5 查看集群狀態(tài)
此時(shí)就可以在master節(jié)點(diǎn)使用kubectl get node 查看集群狀態(tài),如果出現(xiàn)狀態(tài)為notready
kubectl get node
查看pod狀態(tài)
1.6 安裝Calico網(wǎng)絡(luò)插件
curl https://docs.projectcalico.org/manifests/calico.yaml -O ## 或者curl https://docs.projectcalico.org/v3.20/manifests/calico.yaml -Okubectl apply -f calico.yaml
2、work節(jié)點(diǎn)
2.1、重置工作節(jié)點(diǎn)
kubeadm reset
//過(guò)程會(huì)詢問(wèn)是否重置,輸入y然后回車
2.2、手動(dòng)刪除目錄
rm -rf /root/.kube
rm -rf /etc/cni/net.d
rm -rf /etc/kubernetes/*
2.3、重新加入集群
kubeadm join xxx #獲取該指令可以通過(guò)在master節(jié)點(diǎn)上執(zhí)行:kubeadm token create --print-join-command
自己生成的命令:
kubeadm join k8s-master01-31:6443 --token m7xgx0.h8m6si6ws2p0r9n6 \--discovery-token-ca-cert-hash sha256:f4d3af365aeabab83cf124e5a84aeb8260ae6c0d54a7f5d87928fab37a519aea
在master節(jié)點(diǎn)重新獲取token
kubeadm token create --print-join-command
3、檢驗(yàn)效果
在master節(jié)點(diǎn)查看各個(gè)node
kubectl get node
在master節(jié)點(diǎn)查看pod狀態(tài)
kubectl get pod -A