docker - 将所有服务端口转发到单个容器

标签 docker networking kubernetes

我想在带有静态IP的kubernetes中运行一个容器。我发现只有服务才能提供IP地址。

是否可以将服务映射到一个Pod并转发所有端口?

最佳答案

服务会根据labels and selectors发现 pod 。因此,无需使用IP地址来静态引用服务中的Pod。但是,如果您愿意,您可以覆盖此功能背后的自主权,并使用manually configure自己的ClusterIP服务。

创建Pod和Service后,集群中的其他Pod将能够通过服务名称与Pod进行交互,前提是它们位于同一 namespace 中。如果不是,则需要传递服务的FQDN

如果您尝试从outside of Kubernetes访问pod,那么您将需要使用与ClusterIP不同的type服务。例如,NodePortLoadBalancer。另外,如果您的Ingress Controller已配置网关,则可以使用该网关。

关于您想要的forward all ports,这是不可能的,因为服务文件中的端口声明必须为statically mapped。当前无法通过端口范围,但是有一个很长的feature request

关于docker - 将所有服务端口转发到单个容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60974929/

相关文章:

docker - "Docker compose: command not found"- 尽管配置了路径并将文件设置为可执行文件

php - Composer (PHP) 如何融入 Docker 工作流程?

c - 如何停止自己的广播消息?

android - 将 Network SocketFactory 与 SSL 结合使用

kubernetes - 更改 GKE 集群上的节点机器类型

kubernetes - kubernetes rbac授权层似乎给出了不正确的结果

node.js - AWS EC2 端口 80 连接被拒绝

linux - 有关网络和微 Controller 的书籍?

kubernetes - minikube 启动失败

docker - kata 容器可以用作沙箱来运行不受信任的代码吗?