這個問題在這里已經有了答案: Kubernetes (kubectl) 運行 Pod 1 個回答 4天前關閉。
我想從 kubernetes 上可用的 pod 串列中提取 pod 名稱。例如,對于以下命令
kubectl 獲取 pods -n 命名空間
NAME READY STATUS RESTARTS AGE
pod1 1/1 Running 2 46d
pod2 1/1 Running 0 46d
test-pod3-yy 0/1 ImagePullBackOff 0 338d
test-pod3-xx 1/1 Running 0 255d
我想test-pod3-xx使用 shell 腳本提取 pod。目前這是我正在使用的命令
POD_NAME=$(kubectl get pods -n namespace | grep testpod-3 | cut -d' ' -f1)
有了這個,我得到了兩個 pod test-pod3-yy,test-pod3-xx但我想提取處于運行狀態的 pod。我怎樣才能做到這一點?
uj5u.com熱心網友回復:
您可以使用field-selectorand 僅檢查運行:
--field-selector=status.phase=Running
您也可以使用-o name標志來僅獲取名稱。有了它,你會得到:
$ kubectl get pods -n namespace -o name --field-selector=status.phase=Running
pod/pod1
pod/pod2
pod/test-pod3-xx
uj5u.com熱心網友回復:
#!/bin/sh -x
kubectl get pods -n namespace > stack
while read line
do
[[ -n $(sed -n '/Running/p' "${line}" ]] && echo "${line}"
done < stack
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/515331.html
