请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于join加入master节点的,显示添加成功,但是master节点get nodes没有的问题

我这边worker节点加入master节点的时候,显示成功了

kubeadm join xxxxxx:6443 --token i80udh.4xfp36gi4twjsor7 --discovery-token-ca-cert-hash sha256:144160ee24e7ddb1e5ed4e58a971e4f6747071f6b371eae64b1796a4a91a8cdf

xxx是我的master节点的公网IP

但是在master节点查看的时候,没有显示加入,在k8s2里面查看运行的日志,显示说:

failed to run Kubelet: cannot create certificate signing request:Post https://192.168.0.2:6443/apis/certificates.k8s.io/v1beta1/certificatesigningrequests: dial tcp 1

后面显示的是master的私有IP,我join到master里面的时候是通过公网IP加入的,因为master与worker的私网之间不互通

正在回答 回答被采纳积分+3

1回答

提问者 喵的薛定谔i 2018-10-09 12:31:53

这个问题解决了

1 回复 有任何疑惑可以回复我~
  • tonybai #1
    方便的话,可以分享一下问题原因和解决方法:)。
    回复 有任何疑惑可以回复我~ 2018-10-09 20:32:07
  • 提问者 喵的薛定谔i 回复 tonybai #2
    是在kubeadm init的时候,若master节点是公网IP才可以访问的话,--apiserver-advertise-address=后面要接的是公网IP,也必须加上--apiserver-cert-extra-sans=这个参数,后面接公网IP,之后init产生的,就是公网IP的join命令了,如果--apiserver-advertise-address=后面跟的是0.0.0.0,根据官方的说法是,默认会是服务器的私有IP,得到的join命令中的IP,也就是私有IP了,其他服务器join的时候,虽然显示成功了,但是master生成的配置文件中,IP是自己的私有IP,传到worker节点那边的时候,也是私有IP,两者之间不会通信的,相应的kube get nodes也不会得到node节点的信息
    回复 有任何疑惑可以回复我~ 2018-10-10 11:00:33
  • 慕沐0177137 回复 提问者 喵的薛定谔i #3
    你好,能具体说下吗?ip用的是哪个?ifconfig可以贴出来吗?
    回复 有任何疑惑可以回复我~ 2019-02-10 17:06:01
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信