繁体   English   中英

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

[英]Kubernetes: How to map service to a local port inside pod

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

kind: Service
apiVersion: v1
metadata:
  name: my-service
spec:
  selector:
    app: MyApp
  ports:
  - protocol: TCP
    port: 8081
    targetPort: 8081

我希望该服务在某些特定部署的pod中以http:// localhost:8081 /的形式提供。

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

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

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

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

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

希望这可以帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM