Kubectl get pods - 如何按部分名称过滤 pod

Kia*_*sab 23 kubernetes kubectl

该命令kubectl get pods <POD NAME>将返回具有该名称的特定 Pod。我想知道是否有一种方法可以使用部分名称,例如返回所有以j.

Kia*_*sab 27

在 Linux Bash 中:

kubectl get pods | grep ^j
Run Code Online (Sandbox Code Playgroud)

在 Windows PowerShell 中:

kubectl get pods | Select-String '^j'
Run Code Online (Sandbox Code Playgroud)

  • 使用 grep 或等效工具进行过滤是唯一的方法。`kubectl` 中的正则表达式/glob 过滤被多次提出并被拒绝:https://github.com/kubernetes/kubernetes/issues/109400 https://github.com/kubernetes/kubernetes/issues/107053 https://github .com/kubernetes/kubernetes/issues/107285 (3认同)

nzr*_*tmn 8

我使用服务名称作为过滤器。这比较容易。

kubectl get pods -l service=usercontent
Run Code Online (Sandbox Code Playgroud)

或者类似的东西

kubectl get pods -l app=rabbit
Run Code Online (Sandbox Code Playgroud)

您将获得与此服务相关的所有 Pod。如果您有多个数据库 Pod 或应用程序,那么它非常有用。