Kubernetes Kubenetes吊舱主机网络导致节点端口不工作

Kubernetes Kubenetes吊舱主机网络导致节点端口不工作,kubernetes,weave,Kubernetes,Weave,我遇到一个问题: 1) 为部署中的POD声明hostNetwork=true,并创建部署。 2) 向部署吊舱声明具有nodePort的服务 我发现pod未运行的主机中的serviceClusterIP:nodePort无法访问nodePort 当我remove hostnetwork=true时,集群中的任何主机节点都可以访问serviceClusterIP:nodePort 怎么回事 下面列出了我的kubernetes版本,我使用的是编织网 # kubectl version Client V

我遇到一个问题: 1) 为部署中的POD声明hostNetwork=true,并创建部署。 2) 向部署吊舱声明具有nodePort的服务

我发现pod未运行的主机中的serviceClusterIP:nodePort无法访问nodePort

当我remove hostnetwork=true时,集群中的任何主机节点都可以访问serviceClusterIP:nodePort

怎么回事

下面列出了我的kubernetes版本,我使用的是编织网

# kubectl version
Client Version: version.Info{Major:"1", Minor:"5", GitVersion:"v1.5.1", GitCommit:"82450d03cb057bab0950214ef122b67c83fb11df", GitTreeState:"clean", BuildDate:"2016-12-14T00:57:05Z", GoVersion:"go1.7.4", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"5", GitVersion:"v1.5.0", GitCommit:"58b7c16a52c03e4a849874602be42ee71afdcab1", GitTreeState:"clean", BuildDate:"2016-12-12T23:31:15Z", GoVersion:"go1.7.4", Compiler:"gc", Platform:"linux/amd64"}
在Kubernetes中,是一种将pod网络接口上的端口映射到所有节点上的端口的机制

正常情况下,当您不说
hostNetwork=true
时,每个pod都有自己的“网络名称空间”-它有自己的虚拟网络设备,具有唯一的IP地址,并且在127.0.0.1上有一个由pod中的所有容器共享的
localhost
接口

当您通过说
hostNetwork=true
要求pod使用主机的网络接口时,pod没有上述内容;它只使用主机网络设备。在这种模式下,
nodePort
机制不可用

可能在某个地方有一条错误消息告诉您-查看
kubectl事件
kubelet
的日志文件。如果您在任何地方都找不到错误,请将此事实作为针对Kubernetes的错误提交。

在Kubernetes中,是一种将pod网络接口上的端口映射到所有节点上的端口的机制

正常情况下,当您不说
hostNetwork=true
时,每个pod都有自己的“网络名称空间”-它有自己的虚拟网络设备,具有唯一的IP地址,并且在127.0.0.1上有一个由pod中的所有容器共享的
localhost
接口

当您通过说
hostNetwork=true
要求pod使用主机的网络接口时,pod没有上述内容;它只使用主机网络设备。在这种模式下,
nodePort
机制不可用


可能在某个地方有一条错误消息告诉您-查看
kubectl事件
kubelet
的日志文件。如果您在任何地方都找不到错误,请将此事实作为针对Kubernetes的错误提交。

谢谢。我的理解是:1)nodePort是用指定的节点和nodePort公开服务;2) hostNetwork将在其运行的节点中运行pod。如果pod在主机网络模式下运行,但服务可以将某些端口公开为服务节点端口,对吗?“nodePort是使用指定节点公开服务”-否,它在所有节点上公开。我链接到了文档。此外,我还扩展了我的答案来描述主机网络和普通pod网络。谢谢。我的理解是:1)nodePort是用指定的节点和nodePort公开服务;2) hostNetwork将在其运行的节点中运行pod。如果pod在主机网络模式下运行,但服务可以将某些端口公开为服务节点端口,对吗?“nodePort是使用指定节点公开服务”-否,它在所有节点上公开。我链接到了文档。此外,我还扩展了我的答案来描述主机网络和普通pod网络。