получить модули k8s из узла с сопоставлением с регулярным выражением в имени пространства имен - PullRequest
0 голосов
/ 01 апреля 2020

Team,

Я могу выбрать все модули, работающие на узле с его пространством имен, но мои пространства имен генерируются динамически и меняются вместе с символами в конце. Есть ли способ, которым я могу включить регулярное выражение / шаблон, который я могу использовать в команде kubectl для извлечения всех модулей из всех соответствующих пространств имен?

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

I ниже вы хотите использовать стручки для всех пространств имен, начинающихся с "team-".

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.

ожидаемый выход: хотите это ..

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 Ответ

2 голосов
/ 01 апреля 2020

Вы можете передать вывод kubectl get pods в awk и сопоставить его с регулярным выражением:

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

Вот пример выходных данных для того же поиска в pods в kube- пространстве имен:

❯❯❯ 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...