首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Kubernetes中获得一个外部端点?

如何在Kubernetes中获得一个外部端点?
EN

Stack Overflow用户
提问于 2021-12-31 14:31:21
回答 2查看 187关注 0票数 0

假设我在Kubernetes集群中部署了pod,并且已经通过NodePort服务公开了它们。是否有一种方法可以在一个命令中获取结荚外部端点?

例如:

代码语言:javascript
运行
复制
kubectl <cmd>
Response : <IP_OF_NODE_HOSTING_THE_POD>:30120 ( 30120 being the nodeport external port )
EN

回答 2

Stack Overflow用户

发布于 2021-12-31 17:49:28

该需求是一个复杂的需求,需要查询来列出对象。我要用假设来解释。此外,如果需要内部地址,则可以使用端点对象(Ep),因为目标解析是在端点级别完成的。

假设:1 Pod,1 NodePort服务(32320->80),两者均有nginx名称

下面的命令将按照所述的假设工作,我希望这将为您的需求提供一个最佳的方法。

注:基于上述假设,此答案是有效的。但是,对于更广泛的解决方案,我建议在这类复杂查询中使用-o jsonpath='{range..。现在,下面的命令将起作用。

命令:

代码语言:javascript
运行
复制
kubectl get pods,ep,svc nginx -o jsonpath=' External:http://{..status.hostIP}{":"}{..nodePort}{"\n Internal:http://"}{..subsets..ip}{":"}{..spec.ports..port}{"\n"}'

输出:

代码语言:javascript
运行
复制
 External:http://192.168.5.21:32320
 Internal:http://10.44.0.21:80
票数 1
EN

Stack Overflow用户

发布于 2021-12-31 15:04:39

如果节点端口服务是已知的,那么类似于kubectl get svc <svc_name> -o=jsonpath='{.spec.clusterIP}:{.spec.ports[0].nodePort}的东西应该可以工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70543232

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档