我为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
谢谢!
答案 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,路由也乱了。因此,当此超时发生时,请检查您的网络设置,确保您的网络运行良好,这应该会给您一些很好的线索。