目標:
從某個容器中取得第一個正在運行的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中文網其他相關文章!