无法卷曲kubelet只读端口

时间:2017-10-26 17:02:59

标签: kubernetes kubelet

我在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。

2 个答案:

答案 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/