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
posted @ 2021-02-04 15:42  吕振江  阅读(2036)  评论(0编辑  收藏  举报
浏览器标题切换
浏览器标题切换end