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

Gil*_*das 4 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]
Run Code Online (Sandbox Code Playgroud)

所有工作节点在 Ubuntu Server 16.04 上都以完全相同的方式(脚本)构建。

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

小智 5

我有同样的问题。就我而言,我使用 vagrant 来设置专用网络。启动 kubeadm 时,必须指定主机 IP。

sudo kubeadm init --pod-network-cidr = 192.168.0.0 / 16 --apiserver-advertise-address = {Static_IP_ADRESS_HOST}
Run Code Online (Sandbox Code Playgroud)

例子:

sudo kubeadm init --pod-network-cidr=192.168.0.0/16 --apiserver-advertise-address=172.16.94.10
Run Code Online (Sandbox Code Playgroud)

预期的输出会是这样的 在此输入图像描述

我希望这有帮助。