首页 >后端开发 >Golang >如何获取 Kubernetes 部署中第一个运行的 Pod 的名称?

如何获取 Kubernetes 部署中第一个运行的 Pod 的名称?

Barbara Streisand
Barbara Streisand原创
2024-11-30 06:57:10417浏览

How to Get the Name of the First Running Pod in a Kubernetes Deployment?

使用 Kubernetes (kubectl) 获取第一个正在运行的 Pod

目标:

从某个容器中获取第一个正在运行的 Pod部署,过滤

解决方案:

从 Kubernetes 版本 1.9 开始,您可以使用 --field-selector 参数按状态过滤 pod。

kubectl get pod -l app=yourapp --field-selector=status.phase==Running -o jsonpath="{items[0].metadata.name}"

此命令将检索一个 JSON 字符串,其中包含与给定匹配的第一个正在运行的 pod 的名称标签。

其他注意事项:

在早期版本的 kubectl 中,没有必要直接按状态过滤。大多数需要 Pod 作为参数的命令也可以接受部署或服务,并自动选择一个 Pod。

kubectl exec deploy/mydeployment -- date
kubectl logs deploy/mydeployment -c nginx-1

这些命令将选择第一个活动的 Pod(通常是状态为“正在运行”的 Pod)

但是,即使在旧版本中,仍然可以使用 --field-selector 参数获取正在运行的 pod 列表kubectl。

以上是如何获取 Kubernetes 部署中第一个运行的 Pod 的名称?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn