k8s集群扩容与缩容(kubeadm方式部署)
在已有k8s云平台中误删除node节点,然后将误删除的节点添加进集群中。如果是一台新服务器必须还要安装docker和k8s基础组件!
一、模拟误删除node节点
$ kubectl get node
NAME STATUS ROLES AGE VERSION
k8s-master Ready master 157m v1.19.3
k8s-node1 Ready <none> 153m v1.19.3
k8s-node2 Ready <none> 7m48s v1.19.3
$ kubectl drain k8s-node2 --delete-local-data --force --ignore-daemonsets
# 封锁k8s-node2这个node节点,排干该node节点上的pod资源
$ kubectl delete node k8s-node2
# 删除k8s-node2这个节点
二、在被删除的node节点情况集群信息
$ kubeadm reset -f
$ ifconfig cni0 down && ip link delete cni0
$ ifconfig flannel.1 down && ip link delete flannel.1
$ rm -rf /var/lib/cni/
三、在master节点查看集群的token值
查看token值,重点查看token的TTL值
$ kubeadm token list
TOKEN TTL EXPIRES USAGES DESCRIPTION EXTRA GROUPS
8g8yh7.cb1kumg8yzv0umsn 23h 2021-02-05T15:11:41+08:00 authentication,signing <none>
如果token过期,使用如下命令重新生成:
$ kubeadm token create
m9rrtc.2cm48k5w6ymsprwt
获取CA证书sha256编码hash值
$ openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex | sed 's/^.* //'
7a9a8c79acac93c85d9f52351a0f251249a4ae6fcb48c801cce1c159bb095ebe
也可以重新生产token并获取hash值,使用如下命令:
$ kubeadm token create --print-join-command
kubeadm join 192.168.54.128:6443 --token mg4o13.4ilr1oi605tj850w --discovery-token-ca-cert-hash sha256:363b5b8525ddb86f4dc157f059e40c864223add26ef53d0cfc9becc3cbae8ad3
四、将node节点重新添加到k8s集群中
$ kubeadm join 192.168.54.128:6443 --token mg4o13.4ilr1oi605tj850w --discovery-token-ca-cert-hash sha256:363b5b8525ddb86f4dc157f059e40c864223add26ef53d0cfc9becc3cbae8ad3
重新查看master节点信息
$ kubectl get node
NAME STATUS ROLES AGE VERSION
k8s-master Ready master 179m v1.19.3
k8s-node1 Ready <none> 175m v1.19.3
k8s-node2 Ready <none> 29m v1.19.3
*************** 当你发现自己的才华撑不起野心时,就请安静下来学习吧!***************