想要列出没有任何污染的就绪节点的数量。我使用以下查询获取节点列表:
kubectl get nodes -o json|jq -jr '{.items[]|select(.spec.taints|not)|select(.status.conditions[].type=="Ready" and .status.conditions[].status="True")|.metadata.name+"\n"}'
Run Code Online (Sandbox Code Playgroud)
这给了我以下输出
node01
node01
Run Code Online (Sandbox Code Playgroud)
如何从此查询中获取节点数而不是实际节点名称?
将此用于“无污点”的节点数量:
kubectl get nodes -o json | jq '.items[] | select(.spec.taints|not) | .metadata.name' | wc -l
Run Code Online (Sandbox Code Playgroud)
获取状态为“Ready”且“No taint”的节点数量:
kubectl get nodes -o json|jq -r '.items[]|select(.status.conditions[].type=="Ready")|select(.spec.taints|not).metadata.name' | wc -l
Run Code Online (Sandbox Code Playgroud)