kubeadm join失败,仅在一个节点上拒绝连接

时间:2018-03-29 10:15:37

标签: join kubernetes kubeadm

我有一个Kubernetes集群,有1个主人和5个工人, 当我尝试加入第6个工作节点时,它收到了这个错误:

$ 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完全相同(脚本)。

加入是否有限制? 什么样的日志会有用?

2 个答案:

答案 0 :(得分:0)

不,加入群集没有限制。

您有dial tcp 172.22.20.20:6443: getsockopt: connection refused,这意味着您的新节点无法连接到正在使用master的Kubernetes API服务器。

尝试通过curl检查新节点与主节点之间的网络连接,例如 - curl https://172.22.20.20:6443,我认为您会收到类似的错误。

因此,检查并修复您的网络设置,它应该有所帮助。

答案 1 :(得分:0)

我有同样的问题。就我而言,我正在使用无业游民来建立专用网络。 启动kubeadm时,必须指定主机IP。

sudo kubeadm init --pod-network-cidr = 192.168.0.0 / 16 --apiserver-advertise-address = {Static_IP_ADRESS_HOST}

示例:

sudo kubeadm init --pod-network-cidr=192.168.0.0/16 --apiserver-advertise-address=172.16.94.10

预期输出将类似于 enter image description here

我希望这会有所帮助。