新手在这里。我正在尝试使用以下脚本来自动化获取准备就绪的节点的方式:
until kubectl get nodes | grep -m 2 "Ready"; do sleep 1 ; done
是否有更好的方法可以做到这一点,特别是我正在寻找一种无需指定节点号的方法?
答案 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