2017-08-02 87 views
0

我开发了两个Web应用程序(我们称之为A和B)并将它们部署到k8s。 Web应用程序A是指由Web应用程序B生成的图像。在以前的环境中,B具有固定的IP和端口,因此可以更容易地访问B上托管的图像。在K8S环境中,我使用服务类型 - NodePort。在这种情况下,端口在每次部署时都会随机生成。如何以编程方式在Kubernetes中获取服务的NodePort?

问题是,是否有方法从A Pod以编程方式获取B服务的节点端口。或者是否有可能修复一个服务的节点端口?

回答

0

有三种回答您的问题:

首先是一个不应该被破坏,只是因为Pod这背后是重新部署了ServiceService被设计为长期合约,抽象的服务的位置(或计数)Pod s

第二个是,如果你希望有网络应用程序A使用已知的你NodePort,你可以把一个价值在Serviceports:映射nodePort:领域,并假设它尚未分配,kubernetes会按照你的判断

的第三个答案是,每Pod集群内自动运行获得用于与kubernetes API进行通信的API令牌(它生活在/run/secrets/kubernetes.io或类似的地方),所以你可以问A来自Pod内的PI为您提供服务节点的当前值端口

+0

非常有帮助,谢谢。 – ichbinblau

相关问题