正在使用shell脚本提取kubernetes pod名称[duplicate]

cu6pst1q  于 2022-11-02  发布在  Kubernetes
关注(0)|答案(2)|浏览(249)

此问题在此处已有答案

Kubernetes (kubectl) get running pods(1个答案)
20天前关闭。
我想从kubernetes上可用的pod列表中提取一个pod名称。
kubectl获取pod-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

我想使用shell脚本解压缩pod test-pod3-xx

POD_NAME=$(kubectl get pods -n namespace | grep testpod-3 | cut -d' ' -f1)

这样我就得到了test-pod3-yytest-pod3-xx两个pod,但是我想提取处于运行状态的pod。我该怎么做呢?

iqih9akk

iqih9akk1#

您可以使用field-selector并仅检查运行:
--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
6gpjuf90

6gpjuf902#


# !/bin/sh -x

kubectl get pods -n namespace > stack

while read line
do
[[ -n $(sed -n '/Running/p' "${line}" ]] && echo "${line}"
done < stack

相关问题