用于提取 kubernetes pod 名称的 grep 命令

Joh*_*tes 6 bash grep kubernetes

我目前正在编写一个脚本,以减少构建项目bash所需的时间。db目前,我有多个数据库在同一命名空间中运行,我只想提取特定的 pod 名称。

我跑kubectl get pods

NAME                        READY   STATUS    RESTARTS   AGE
elastic                     1/1     Running   0          37h
mysql                       1/1     Running   0          37h
Run Code Online (Sandbox Code Playgroud)

现在我想保存其中一个 Pod 名称。

我当前正在运行它foo=$(kubectl get pods | grep -e "mysql") ,它返回的mysql 1/1 Running 0 37h是该命令的预期结果。现在我只想能够提取 pod 名称作为该变量,以便稍后可以传递它。

DT.*_*DT. 6

这应该适合你

foo=$(kubectl get pods | awk '{print $1}' | grep -e "mysql")
Run Code Online (Sandbox Code Playgroud)


vau*_*ult 6

kubectl已经允许您仅提取名称:

kubectl get pods -o=jsonpath='{range .items..metadata}{.name}{"\n"}{end}' | fgrep mysql
Run Code Online (Sandbox Code Playgroud)