我在Kubernetes集群中的一个节点上运行了一个heapster pod。它能够很好地获得http://<node-with-heapster-pod>:10255/stats/summary
,但是只要它在另一个节点上运行相同的get请求,它就不能。当我从任何给定节点内运行curl时,我可以访问该端口,但是当我从另一台机器卷曲任何节点时,我收到以下错误:
Failed to connect to 128.180.120.229 port 10255: No route to host
以下是kubelet正在侦听的所有端口的netstat输出:
netstat -ap | grep -i "listen" | grep "kubelet"
tcp 0 0 localhost:10248 0.0.0.0:* LISTEN 7562/kubelet
tcp6 0 0 [::]:4194 [::]:* LISTEN 7562/kubelet
tcp6 0 0 [::]:10250 [::]:* LISTEN 7562/kubelet
tcp6 0 0 [::]:10255 [::]:* LISTEN 7562/kubelet
unix 2 [ ACC ] STREAM LISTENING 621349 7562/kubelet /var/run/dockershim.sock
我为凌乱的最后一栏道歉。任何想法为什么会这样?我的iptables规则设置为接受所有传入连接,任何节点都可以ping端口10250罚款,而不是10255。
答案 0 :(得分:0)
您的系统上可能没有启用 ip_forward 。你可以查看这个设置吗?
public Master(String id, String expansion, String imgpath, String litness, String name, String dankness, String rarity, String value) {
this.id = id;
this.expansion = expansion;
this.imgpath = imgpath;
this.litness = litness;
this.name = name;
this.dankness = dankness;
this.rarity = rarity;
this.value = value;
}
答案 1 :(得分:0)
如果仍然有人在乎,端口10255是kubelet的只读端口,可以配置也可以不配置。您可以通过访问有问题的工作程序节点,然后查看kubelet的启动命令来确认这一点。
systemctl status kubelet-worker.service
一些本地kubernetes解决方案将其设置为0,如下所述
https://kubernetes.io/docs/reference/command-line-tools-reference/kubelet/
-read-only-port int32 Kubelet可以在没有身份验证/授权的情况下使用的只读端口(设置为0以禁用)(默认值为10255)(不建议使用:此参数应通过配置文件设置)由Kubelet的--config标志指定。有关更多信息,请参见https://kubernetes.io/docs/tasks/administer-cluster/kubelet-config-file/。