首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Kubenetes主机网络导致nodePort不工作

Kubenetes主机网络导致nodePort不工作
EN

Stack Overflow用户
提问于 2017-02-27 16:02:36
回答 1查看 1.3K关注 0票数 0

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

我发现pod未在其上运行的主机上的serviceClusterIP:nodePort无法访问nodePort。

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

有什么问题吗?

下面列出了我的kubernetes版本,我使用的是weave net。

代码语言:javascript
复制
# 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"}
EN

回答 1

Stack Overflow用户

发布于 2017-02-27 19:13:32

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

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

当您通过说hostNetwork=true来请求pod使用主机的网络接口时,它不具备上述任何条件;它只使用主机网络设备。并且nodePort机制在此模式下不可用。

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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42480525

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档