join命令的时候,显示如下的问题
来源:1-6 向集群加入worker节点
喵的薛定谔i
2018-10-02
加入worker节点,执行如下命令:
kubeadm join xxx:6443 --token 6f3xyn.d7jn6otzwfvvt9e3 --discovery-token-ca-cert-hash sha256:480c471a8c8861b9bcbb6b75b8fe6fecea82e5fcc4439813d9709bbb0af0d9bb
报错如下
Failed to request cluster info, will try again: [Get https://xxxxx:6443/api/v1/namespaces/kube-public/configmaps/cluster-info: x509: certificate is valid for 10.96.0.1, 192.168.0.2, not xxxx]
- 其中,
xxx
为我的master的公网IP,前面在master节点上执行kubectl init
的时候,--apiserver-advertise-address
填写的是0.0.0.0
,因为填写公网IP的时候,执行不通,写为0.0.0.0
之后,init成功 - 然后加入一个worker节点的时候,显示certficate对那个公网IP没用,加入不了
请问如何解决呢?
写回答
1回答
-
“x509: certificate is valid for 10.96.0.1, 192.168.0.2, not xxxx]” -- 这个问题直接原因是kubeadm join命令校验apiserver返回的数字证书失败,因为该数字证书仅对10.96.0.1, 192.168.0.2是有效的,证书范围并未包含xxxx(your master node public/external ip)。但根本原因还是在kubeadm init 时传入的--apiserver-advertise-address不正确,传入0.0.0.0意味着使用the default network interface,即master node的private ip。 可以试试 init时再传入:--apiserver-cert-extra-sans=xxxx
即:kubeadm init --apiserver-advertise-address=0.0.0.0 --apiserver-cert-extra-sans=xxxx012018-10-03
相似问题