目标:
从某个容器中获取第一个正在运行的 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中文网其他相关文章!