k8s之新增master 与 node节点
1、新增node节点
在master上重新生成token 命令
kubeadm token create --print-join-command
如果提示已经加入过k8s,提示/etc/kubernetes/kubelet.conf already exists 和 /etc/kubernetes/pki/ca.crt already exists
需要在node节点上执行
在node节点执行kubeadm reset 后在重新执行kubeadm join 命令
2、新增master节点,这里需要校验下之前新增master时是否有参数controlPlaneEndpoint
没有的话需要重新部署master节点,接之前的内容需要调整下命令
kubeadm init --kubernetes-version v1.23.0 --apiserver-advertise-address=xxx.xxx.xxx.xxx --control-plane-endpoint=xxx.xxx.xxx.xxx --pod-network-cidr=10.244.0.0/16 --ignore-preflight-errors=ImagePull
执行后会出现如下内容
kubeadm join xxx.xxx.xxx.xxx:6443 --token rgqz47.viu0ywza11fuxtzf --discovery-token-ca-cert-hash sha256:1598701faabbd19e09358ac58fe4cceae6dafbea496f72b8c8cd248c375e0166
--control-plane
3.其中带--control-plane 的命令是另一个master执行的,执行前的操作需要取master节点像新增的master节点copy文件
scp /etc/kubernetes/pki/ca.* root@xxx.xxx.xxx.xxx:/etc/kubernetes/pki/
scp /etc/kubernetes/pki/sa.* root@xxx.xxx.xxx.xxx:/etc/kubernetes/pki/
scp /etc/kubernetes/pki/front-proxy-ca.* root@xxx.xxx.xxx.xxx:/etc/kubernetes/pki/
scp /etc/kubernetes/pki/etcd/ca.* xxx.xxx.xxx.xxx:/etc/kubernetes/pki/etcd/
copy完成后就执行
kubeadm join xxx.xxx.xxx.xxx:6443 --token rgqz47.viu0ywza11fuxtzf --discovery-token-ca-cert-hash sha256:1598701faabbd19e09358ac58fe4cceae6dafbea496f72b8c8cd248c375e0166
--control-plane
执行完成需要执行
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
之后就可以进行kubtctl get node -o wide -n default 进行查询验证即可