Kubernetes:如何将服务映射到pod内的本地端口

Kubernetes:如何将服务映射到pod内的本地端口,kubernetes,Kubernetes,是否可以将Kubernetes服务映射到一组POD(部署)的特定端口? 例如,我有服务(仅作为示例) 我希望这项服务可以在我的pod中从一些特定的部署中获得 在我看来,我几天前在K8S文档中看到了这一点,但我现在找不到 查看您对K8s服务的使用情况可能会有所帮助。如果您已将POD部署公开为服务,那么您的服务将定义端口映射,并且您将能够在服务端口的群集DNS名称上访问您的服务 如果您必须通过localhost访问您的服务,我假设您的用例是pod中的一些紧密耦合的容器。在这种情况下,您可以在部署ya

是否可以将Kubernetes服务映射到一组POD(部署)的特定端口? 例如,我有服务(仅作为示例)

我希望这项服务可以在我的pod中从一些特定的部署中获得


在我看来,我几天前在K8S文档中看到了这一点,但我现在找不到

查看您对K8s服务的使用情况可能会有所帮助。如果您已将POD部署公开为服务,那么您的服务将定义端口映射,并且您将能够在服务端口的群集DNS名称上访问您的服务

如果您必须通过localhost访问您的服务,我假设您的用例是pod中的一些紧密耦合的容器。在这种情况下,您可以在部署yaml中定义一个“containerPort”,并在同一pod中添加需要在localhost上相互通信的容器

如果通过
localhost
您指的是您自己的本地开发计算机,则可以执行
端口转发
。只要端口转发进程正在运行,您就可以从
localhost
访问pods的端口。查找有关的更多信息。简单的例子:

kubectl port-forward redis-master-765d459796-258hz 6379:6379 
# or
kubectl port-forward service/redis 6379:6379 

希望这有帮助

您的服务正在公开您的部署。它是一个位于豆荚顶部的层。你说“我希望服务在pod中以localhost:8081的形式提供”是什么意思?在deployment1的所有pod中,我希望服务(由另一个部署提供)在某些本地端口上可用。我希望通过直接注入服务构建原型。通过DNS名称进行访问非常好,但当您从开发转移到生产时,需要更重的配置。我正在构建原型,在开发模式下,您拥有本地运行服务所需的所有服务(甚至没有停靠),在K8S中,您拥有相同的配置,但物理服务位于不同的群集节点上(是的,我知道DNS查找)。您所说的“直接注入服务”是什么意思?您通常无法通过
localhost
访问服务,除非它们是pod中紧密耦合的容器(即调度到同一个节点)。正如我所说的,就我所记得的,服务可以通过K8S配置代理到一组pod,所以我看到的不是物理上的localAh,所以说
localhost
你指的是你自己的开发计算机??如果是这种情况,请查看我对港口货运答案的修正案。:)@Denis在本地主机域上注入外部服务访问的唯一方法是使用
proxy
gateway侧车。只需查看并阅读有关
大使的信息
。我希望你真的知道你想要什么。
kubectl port-forward redis-master-765d459796-258hz 6379:6379 
# or
kubectl port-forward service/redis 6379:6379