我有一个Kubernetes集群,其中有1个master和5个worker,当我尝试加入第6个worker节点时,它得到这个错误:
$ sudo kubeadm join 172.22.20.20:6443 --token xxxxx.yyyyyyyy --discovery-token-ca-cert-hash sha256:zzzzzzz
[preflight] Running pre-flight checks.
[WARNING FileExisting-crictl]: crictl not found in system path
Suggestion: go get github.com/kubernetes-incubator/cri-tools/cmd/crictl
[discovery] Trying to connect to API Server "172.22.20.20:6443"
[discovery] Created cluster-info discovery client, requesting info from "https://172.22.20.20:6443"
[discovery] Failed to request cluster info, will try again: [Get https://172.22.20.20:6443/api/v1/namespaces/kube-public/configmaps/cluster-info: dial tcp 172.22.20.20:6443: getsockopt: connection refused]
字符串
在Ubuntu Server 16.04上,所有工作节点都以完全相同的方式(脚本)构建。
加入有限制吗?什么样的日志会有用?
3条答案
按热度按时间xxls0lw81#
我也有同样的问题。在我的例子中,我使用vagrant建立了一个私人网络。启动kubeadm时,必须指定主机IP。
字符串
示例如下:
型
预期输出将类似于
希望这能帮上忙。
iklwldmw2#
不,加入群集没有限制。
你得到了
dial tcp 172.22.20.20:6443: getsockopt: connection refused
,这意味着你的新节点无法连接到在master上运行的Kubernetes API服务器。尝试通过
curl
检查新节点和主节点之间的网络连接,例如-curl https://172.22.20.20:6443
,我认为你会得到类似的错误。所以,检查并修复您的网络设置,它应该有帮助。
balp4ylt3#
你可以直接去主节点编辑入站规则来添加6443端口,然后在从节点上重新运行kubeadm join.这次应该可以工作了