如果master节点的IP已经在apiserver证书允许的列表中就可以直接执行如下命令添加

方法一(推荐):

将ca证书文件上传到secret

kubeadm init phase upload-certs --upload-certs

执行如下命令获取token

kubeadm token create --print-join-command
##创建的token默认有效期只有24小时,如果长期有效可以在后面加上 --ttl 0 
通过kubeadm token list 列出所有token
如果不需要了可以通过kubeadm token delete删除token

返回结果,以实际返回为准

在192.168.1.110上执行

kubeadm join 192.168.1.100:8443 \
--token y51u50.n4kmflg7vddgpc5u \
--discovery-token-ca-cert-hash sha256:ac8ae2e78305da84cffa828d056472d2f8df5dcb47d604066ab0c525db07aad9 \
--control-plane \
--certificate-key 986cdfc8d856eb144a8e041f3f6e880adbf0f8e2bca6700ff265f1279b7a1c83

##完成之后执行
mkdir -p $HOME/.kube
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
chown $(id -u):$(id -g) $HOME/.kube/config

----------------------------------------------------------------------

方法二:

将192.168.1.110加如到当前master的免密登录列表中

ssh-copy-id 192.168.1.110

再执行如下面命令

newmaster=192.168.1.110
ssh ${newmaster} "cd /root && mkdir -p /etc/kubernetes/pki/etcd && mkdir -p ~/.kube/"
scp /etc/kubernetes/pki/{ca,front-proxy-ca}.{crt,key} /etc/kubernetes/pki/sa.{pub,key} ${newmaster}:/etc/kubernetes/pki/
scp /etc/kubernetes/pki/etcd/ca.{crt,key} ${newmaster}:/etc/kubernetes/pki/etcd/
##获取加入集群的token命令,因为我们取的临时的token,所以为了安全设置5分钟即可
joinconmand=$(kubeadm token create --print-join-command --ttl 5m)
##加入集群
ssh ${newmaster} "$joinconmand --control-plane"
##拷贝kubeconfig文件
ssh ${newmaster} "/bin/cp /etc/kubernetes/admin.conf /root/.kube/config"

新加入的master会自动从kubeadm-config获取apiServer.certSANs列表