Я хочу написать оболочку на kubectl
для отображения только неисправных модулей, что означает, что в нем должны отображаться только те элементы, у которых значения столбца Ready не совпадают (т.е. 0/1, 0/2, 1/2, 2/3,
и т. Д.)
$ kubectl get pods --all-namespaces
NAMESPACE NAME READY STATUS RESTARTS AGE
default pod-with-sidecar 1/2 ErrImagePull 0 39s
kube-system calico-node-chcqq 2/2 Running 2 7d
kube-system calico-policy-controller-6449789dd6-z5t5j 1/1 Running 0 7d
kube-system etcd 1/1 Running 0 7d
kube-system kube-apiserver 1/1 Running 2 7d
kube-system kube-controller-manager 1/1 Running 0 7d
kube-system kube-dns-5c76d6bddb-8zhmq 3/3 Running 1 7d
kube-system kube-proxy-xq8j6 1/1 Running 0 7d
kube-system kube-scheduler- 1/1 Running 0 7d
kube-system tiller-deploy-5b7cb9cfd7-j725s 1/1 Running 0 7d
my-system glusterfs-brick-0 0/2 Pending 0 3m
my-system sticky-scheduler-6d968f8d74-xvjqn 0/1 ImagePullBackOff 0 4m
так что из вышеприведенного вывода я хочу напечатать эти неисправные блоки
NAMESPACE NAME READY STATUS RESTARTS AGE
default pod-with-sidecar 1/2 ErrImagePull 0 4m
my-system glusterfs-brick-0 0/2 Pending 0 56s
my-system sticky-scheduler-6d968f8d74-xvjqn 0/1 ImagePullBackOff 0 8m
Это работает!
$ kubectl get pods --all-namespaces | grep -vE '1/1|2/2|3/3'
NAMESPACE NAME READY STATUS RESTARTS AGE
default pod-with-sidecar 1/2 ErrImagePull 0 4m
my-system glusterfs-brick-0 0/2 Pending 0 56s
my-system sticky-scheduler-6d968f8d74-xvjqn 0/1 ImagePullBackOff 0 8m
Но это не сработает, если у меня в столбце Ready
и т. Д. *1013*, что я могу сделать с grep -vE '1/1|2/2|3/3'
, чтобы он работал во всех таких случаях
Ссылка: https://github.com/kubernetes/kubernetes/issues/49387