问题来自issue: https://github.com/kubernetes/kubectl/issues/717
Kubectl 在如下表中返回信息:
$ kubectl get replicasets -n kube-system
NAMESPACE NAME DESIRED CURRENT READY AGE
kube-system datadog-657c65b75c 2 2 2 11d
kube-system kube-ops-view-5d8df57fc 1 1 0 33d
Run Code Online (Sandbox Code Playgroud)
要在不使用 json 格式化程序的情况下查找输出中的所有偏差,我可以执行以下命令:
grep -v '0 0 0\|1 1 1\|2 2 2\|3 3 3\|4 4 4\|5 5 5'
Run Code Online (Sandbox Code Playgroud)
什么 grep 命令可以涵盖所有可能的情况?目标是找到任何 DESIRED != CURRENT、CURRENT != READY 或 DESIRED != READY 的 ReplicaSet。
grep
当您的模式既不是固定字符串也不是正则表达式时,这不是很好。
当您希望所有副本集的“所需”、“当前”和“就绪”数字不相同时,请使用更好的模式匹配语言,例如awk
:
kubectl get replicasets -n kube-system | awk '$3!=$4 || $4!=$5 {print $0}'
Run Code Online (Sandbox Code Playgroud)
它应该返回标头和任何不一致的副本集。
您可以使用以下方法省略标头:
awk 'NR!=1 && ($3!=$4 || $4!=$5) {print $0 }'
Run Code Online (Sandbox Code Playgroud)
一致的副本集将列出:
awk '$3==$4 && $4==$5 {print $0}'
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2851 次 |
最近记录: |