Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何获得服务';在Kubernetes中以编程方式创建NodePort?_Kubernetes - Fatal编程技术网

如何获得服务';在Kubernetes中以编程方式创建NodePort?

如何获得服务';在Kubernetes中以编程方式创建NodePort?,kubernetes,Kubernetes,我开发了两个web应用程序(我们称它们为A和B),并将它们部署到k8s。web应用程序A指的是web应用程序B生成的图像。在以前的环境中,B具有固定的IP和端口,这使得访问托管在B上的图像非常容易 在K8S环境中,我使用服务类型-NodePort。在这种情况下,每次部署时都会随机生成端口 问题是是否有一种方法可以通过编程方式从a Pod获取B服务的节点端口。或者可以为一个服务修复节点端口吗 您的问题有三个答案: 第一,不应该仅仅因为Pod被重新部署就破坏服务。服务被设计成一个长期合同,对服务的放

我开发了两个web应用程序(我们称它们为A和B),并将它们部署到k8s。web应用程序A指的是web应用程序B生成的图像。在以前的环境中,B具有固定的IP和端口,这使得访问托管在B上的图像非常容易

在K8S环境中,我使用服务类型-NodePort。在这种情况下,每次部署时都会随机生成端口


问题是是否有一种方法可以通过编程方式从a Pod获取B服务的节点端口。或者可以为一个服务修复节点端口吗

您的问题有三个答案:

第一,不应该仅仅因为
Pod
被重新部署就破坏
服务。
服务
被设计成一个长期合同,对服务的放置(或计数)进行抽象

第二个是,如果您确实希望web应用程序A使用您已知的
节点端口
,您可以在
服务
内的
端口
映射字段中输入一个值,并假设尚未分配该值,kubernetes将遵从您的判断


第三个答案是,集群中运行的每个
Pod
自动获得一个API令牌,用于与kubernetes API通信(它位于
/run/secrets/kubernetes.io
或类似位置),因此您可以从Pod中请求API提供服务节点端口的当前值,非常有用,谢谢。