无法从主机连接到Kubernetes Pod:I / O超时

时间:2018-07-18 06:33:44

标签: kubernetes

我为kubernetes集群配置了一个主节点和一个节点,运行主节点和节点的机器不在同一个网络中。为了联网,我安装了calico,所有的Pod都在运行。为了测试集群,我使用了get shell example,并且当我从主机上运行以下命令时:

kubectl exec -it shell-demo -- /bin/bash

我收到错误:

Error from server: error dialing backend: dial tcp 10.138.0.2:10250: i/o timeout

ip 10.138.0.2位于节点计算机的eth0接口上。

我需要进行哪些配置才能从主服务器访问吊舱?

编辑

kubectl得到所有--all-namespaces -o宽输出:

default       shell-demo                           1/1       Running   0          10s       192.168.4.2   node-1
kube-system   calico-node-7wlqw                    2/2       Running   0          49m       10.156.0.2    instance-1
kube-system   calico-node-lnk6d                    2/2       Running   0          35s       10.132.0.2    node-1
kube-system   coredns-78fcdf6894-cxgc2             1/1       Running   0          50m       192.168.0.5   instance-1
kube-system   coredns-78fcdf6894-gwwjp             1/1       Running   0          50m       192.168.0.4   instance-1
kube-system   etcd-instance-1                      1/1       Running   0          49m       10.156.0.2    instance-1
kube-system   kube-apiserver-instance-1            1/1       Running   0          49m       10.156.0.2    instance-1
kube-system   kube-controller-manager-instance-1   1/1       Running   0          49m       10.156.0.2    instance-1
kube-system   kube-proxy-b64b5                     1/1       Running   0          50m       10.156.0.2    instance-1
kube-system   kube-proxy-xxkn4                     1/1       Running   0          35s       10.132.0.2    node-1
kube-system   kube-scheduler-instance-1            1/1       Running   0          49m       10.156.0.2    instance-1

谢谢!

3 个答案:

答案 0 :(得分:0)

在检查您在Master上的状态之前。请验证以下内容。

请运行以下命令以检查集群信息:

setenforce 0
firewall-cmd --permanent --add-port=6443/tcp
firewall-cmd --permanent --add-port=2379-2380/tcp
firewall-cmd --permanent --add-port=10250/tcp
firewall-cmd --permanent --add-port=10251/tcp
firewall-cmd --permanent --add-port=10252/tcp
firewall-cmd --permanent --add-port=10255/tcp
firewall-cmd --reload
modprobe br_netfilter
echo '1' > /proc/sys/net/bridge/bridge-nf-call-iptables

在主节点和辅助节点上运行以上命令。

然后运行以下命令以检查节点状态。

kubectl获取节点

答案 1 :(得分:0)

我也遇到了这个问题。不知道您是否在Azure上,但是我在,我通过删除tunnelfront pod并让Kubernetes重新启动它来解决了这个问题:

kubectl -n kube-system delete po -l component=tunnel

这是我从here那里获得的解决方案

答案 2 :(得分:0)

我们遇到了同样的问题,最后发现我们每台主机有2个网卡,而且他们有2个不同的IP,路由也乱了。因此,当此超时发生时,请检查您的网络设置,确保您的网络运行良好,这应该会给您一些很好的线索。