自动化获取准备就绪的节点的方式

时间:2019-09-11 08:59:31

标签: kubernetes kubectl kubernetes-pod

新手在这里。我正在尝试使用以下脚本来自动化获取准备就绪的节点的方式:

until kubectl get nodes | grep -m 2 "Ready"; do sleep 1 ; done

是否有更好的方法可以做到这一点,特别是我正在寻找一种无需指定节点号的方法?

2 个答案:

答案 0 :(得分:0)

要获取所有Ready个节点的名称,请使用

$ kubectl get nodes -o json | jq -r '.items[] | select(.status.conditions[].type=="Ready") | .metadata.name '

master-0
node-1
node-3
node-x

答案 1 :(得分:0)

基于官方documentation

您可以使用以下命令检查准备就绪的节点:

JSONPATH='{range .items[*]}{@.metadata.name}:{range @.status.conditions[*]}{@.type}={@.status};{end}{end}' \
 && kubectl get nodes -o jsonpath="$JSONPATH" | grep "Ready=True"

您无需在命令中指定节点数,只需像这样使用它即可:

until kubectl get nodes | grep -i "Ready"; do sleep 1 ;  done