kubernetes master 6443 连接被其他主机拒绝

kubernetes master 6443 connection refused from other hosts

我似乎无法让节点加入集群。

[discovery] Trying to connect to API Server "10.0.2.15:6443"
[discovery] Created cluster-info discovery client, requesting info from "https://10.0.2.15:6443"
I0702 11:09:08.268102   10342 round_trippers.go:386] curl -k -v -XGET  -H "Accept: application/json, */*" -H "User-Agent: kubeadm/v1.11.0 (linux/amd64) kubernetes/91e7b4f" 'https://10.0.2.15:6443/api/v1/namespaces/kube-public/configmaps/cluster-info'
I0702 11:09:08.268676   10342 round_trippers.go:405] GET https://10.0.2.15:6443/api/v1/namespaces/kube-public/configmaps/cluster-info  in 0 milliseconds
I0702 11:09:08.268873   10342 round_trippers.go:411] Response Headers:
[discovery] Failed to request cluster info, will try again: [Get https://10.0.2.15:6443/api/v1/namespaces/kube-public/configmaps/cluster-info: dial tcp 10.0.2.15:6443: connect: connection refused]

端口似乎关闭(从节点):

telnet 10.0.2.15 6443
Trying 10.0.2.15...
telnet: Unable to connect to remote host: Connection refused

在 master 上:

telnet 10.0.2.15 6443
Trying 10.0.2.15...
Connected to 10.0.2.15.
Escape character is '^]'.
^CConnection closed by foreign host.

这可能是什么原因?

两台机器都是虚拟机,10.02.15 是 NAT ip - 这对于两台机器都是相同的(它们是独立的)...

叹气...

如果对其他人有帮助:

iptables -t raw -A OUTPUT -p tcp --dport 6443 -j TRACE
iptables -t raw -A PREROUTING -p tcp --dport 6443 -j TRACE
tail -f /var/log/kern.log

如果你运行在 VM 上使用(比如使用 vagrant 和 virtual box)运行 使用 vagrant 文件中使用的私有 IP 的 init 命令。因此,如果您在节点上使用 join 命令,它可以到达其他节点。

Syntax: kubeadm init --apiserver-advertise-address=private-ip-address

Example: kubeadm init --apiserver-advertise-address=192.168.33.50