从名称空间名称中具有正则表达式模式匹配的节点获取k8s pod

时间:2020-04-01 19:04:37

标签: regex bash awk sed kubectl

团队,

我能够使用其名称空间获取在节点上运行的所有Pod,但是我的名称空间是动态生成的,并且它们的结尾随字符而变化。有没有办法我可以在kubectl命令中使用正则表达式/模式来从所有匹配的命名空间中提取所有pod?

kubectl get pods -n team-1-user1 --field-selector=spec.nodeName=node1,status.phase=Running

实际输出1:有效

NAMESPACE                                     NAME                                                                   READY   STATUS    RESTARTS   AGE
team-1-user1                                   calico-node-9j5k2                                                      1/1     Running   2          104d
team-1-user1                                   kube-proxy-ht7ch                                                       1/1     Running   2          130d

我想在下面为所有以“ team-”开头的名称空间提取pod。

kubectl get pods -n team-* --field-selector=spec.nodeName=node1,status.phase=Running

实际输出2:失败

No resources found in team-workflow-2134-asf-324-d.yaml namespace.

期望的outout:想要这个。

NAMESPACE                                     NAME                                                                   READY   STATUS    RESTARTS   AGE
team-1-user1                                   calico-node-9j5k2                                                      1/1     Running   2          104d
team-1-user1                                   kube-proxy-ht7ch                                                       1/1     Running   2          130d

team-2-user1                                   calico-node-9j5k2                                                      1/1     Running   2          1d
team-2-user1                                   kube-proxy-ht7ch                                                       1/1     Running   2          10d

1 个答案:

答案 0 :(得分:2)

您可以将kubectl get pods的输出通过管道传输到awk中,并为其匹配正则表达式:

kubectl get pods --all-namespaces --no-headers |  awk '{if ($1 ~ "team-") print $0}'

以下是相同的示例输出,在kube-名称空间中搜索pod:

❯❯❯ kubectl get pods --all-namespaces --no-headers |  awk '{if ($1 ~ "kube-") print $0}'
kube-system            coredns-6955765f44-27wxs                     1/1   Running             0     107s
kube-system            coredns-6955765f44-ztgq8                     1/1   Running             0     106s
kube-system            etcd-minikube                                1/1   Running             0     109s
kube-system            kube-addon-manager-minikube                  1/1   Running             0     108s