无法使用Kubectl和jsonpath获取Pod的IP地址

3
我正在尝试使用以下命令和jsonpath获取具有特定标签的pods的IP地址:
``` kubectl get pods -l app=validate -n {namespace_name} -o jsonpath={.status.podIP} ```
但是这并没有返回任何结果,即使命名空间和标签名称都是正确的。另一方面,如果我尝试执行以下操作:
``` kubectl get pod/pod_name -n {namespace_name} -o jsonpath={.status.podIP} ```
然后就能够得到pod的IP地址。但问题是,由于我想查询为特定部署创建的所有pods,我希望获取该特定标签下所有pods的IP地址。我不确定命令有什么问题。
2个回答

10
如果您有多个带有相同标签的Pod,则会得到一个Pod列表。您需要调整您的jsonpath为-o jsonpath="{.items[*].status.podIP}"以获取所有的podIPs。

如果您还需要名称,返回以下编程相关内容的翻译文本:k get pods -A -o jsonpath='{range .items[*]}{@.status.podIP}{" "}{@.metadata.name}{"\n"}{end}' - codersofthedark

1
根据官方文档,在查询资源列表时可以添加自定义列。
因此,您可以执行kubectl get pods -l app=validate -n {namespace_name} -o custom-columns=ip:.status.podIP

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接