首先删掉节点
注意:以下操作都是在master下操作。

一:先将节点设置为维护模式(k8snode2是节点名称)

kubectl drain k8snode02 --delete-local-data --force --ignore-daemonsets node/k8snode02 

二:删除节点

kubectl delete node k8snode02

三:确认是否已经删除

kubectl get nodes

三:生成永久Token(node加入的时候会用到)

kubeadm token create --ttl 0 --print-join-command
`kubeadm join 192.168.233.3:6443 --token rpi151.qx3660ytx2ixq8jk     --discovery-token-ca-cert-hash sha256:5cf4e801c903257b50523af245f2af16a88e78dc00be3f2acc154491ad4f32a4`

#这是生成的Token,node加入时使用,此``是起到注释作用,无其他用途。
四:查看Token确认

kubeadm token list
node重新加入
注意:以下操作在node下操作

一:停掉kubelet

systemctl stop kubelet

二:删除之前的相关文件

rm -rf /etc/kubernetes/*

三:加入集群

kubeadm join 192.168.233.3:6443 --token rpi151.qx3660ytx2ixq8jk     --discovery-token-ca-cert-hash sha256:5cf4e801c903257b50523af245f2af16a88e78dc00be3f2acc154491ad4f32a4

注意:如果你没有另创建Token,也许会报类似以下错:

error execution phase preflight: [preflight] Some fatal errors occurred: [ERROR FileAvailable--etc-kubernetes-kubelet.conf]: /etc/kubernetes/kubelet.conf already exists [ERROR FileAvailable--etc-kubernetes-bootstrap-kubelet.conf]: /etc/kubernetes/bootstrap-kubelet.conf already exists [ERROR Port-10250]: Port 10250 is in use [ERROR FileAvailable--etc-kubernetes-pki-ca.crt]: /etc/kubernetes/pki/ca.crt already exists [preflight] If you know what you are doing, you can make a check non-fatal with `--ignore-preflight-errors=... `

所以建议建立一个永久的,当然如果考虑到安全那么就需要每一次加入之前重新创建一个临时的Token.

解决了一个报错,这不又来了一个报错,如以下报错代码:

error execution phase preflight: unable to fetch the kubeadm-config ConfigMap: failed to get config map: Unauthorized

如遇到此报错也不要急,接着在node上敲两行代码即可,如下操作:

kubeadm reset 
iptables -F && iptables -t nat -F && iptables -t mangle -F && iptables -X

操作完后再次执行加入集群命令即可。

加入新节点
方法一:
master节点操作:

获取master的join token

$ kubeadm token create --print-join-command  --ttl=0
kubeadm join 10.0.4.13:6443 --token efhflo.tew953p0gelnn0th --discovery-token-ca-cert-hash sha256:75c44cc6a8b22e38bf78ae0e2365a5dc19d367695e9255e74148185240a76e21 

–ttl=0代表时间永不过期,不加此参数默认24小时过期

执行完成后,会自动生成下面字样的字段,在node节点上输入加入集群

node节点操作:

kubeadm join 10.0.4.13:6443 --token efhflo.tew953p0gelnn0th --discovery-token-ca-cert-hash sha256:75c44cc6a8b22e38bf78ae0e2365a5dc19d367695e9255e74148185240a76e21 

方法二:

master节点操作

kubeadm token create
yi55aa.kiu0nxc47kn0t56r

再执行:

openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null |  openssl dgst -sha256 -hex | sed 's/^.* //'

ea7d2db27a987375034f8262be9f94b004a96ddcb5a22b6d6b7186aa8ba97b3f

node节点操作:

kubeadm join 192.168.1.7:6443 --token yi55aa.kiu0nxc47kn0t56r  --discovery-token-ca-cert-hash sha256:ea7d2db27a987375034f8262be9f94b004a96ddcb5a22b6d6b7186aa8ba97b3f

嗨~如果有帮助,请帮忙点个赞吧,谢谢 -致敬每一个正在努力的人

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐