如何通过命令行检测Kubernetes节点是否是主/控制平面?有没有可以检查的环境变量?
zmeyuzjn1#
Kubernetes提供了labels and selectors,可用于选择分配给节点的角色。要选择控制平面节点,请使用选择器选择该角色:
# kubectl get nodes --selector 'node-role.kubernetes.io/controlplane' NAME STATUS ROLES AGE VERSION cp01 Ready controlplane,etcd 90d v1.26.1 cp02 Ready controlplane,etcd 93d v1.26.1 cp03 Ready controlplane,etcd 93d v1.26.1
要查看可用标签的列表,请以YAML格式打印出节点的配置,并查看labels:部分:
labels:
# kubectl get nodes cp01 -o yaml ... labels: kubernetes.io/os: linux node-role.kubernetes.io/controlplane: "true" node-role.kubernetes.io/etcd: "true" ...
ccrfmcuu2#
您可以使用kubectl get nodes -o wide命令来获取更详细的节点列表,其中包含Roles列。在那里你可以看到控制平面,主节点,etcd节点有一个特殊的标签。
kubectl get nodes -o wide
2条答案
按热度按时间zmeyuzjn1#
Kubernetes提供了labels and selectors,可用于选择分配给节点的角色。
要选择控制平面节点,请使用选择器选择该角色:
要查看可用标签的列表,请以YAML格式打印出节点的配置,并查看
labels:
部分:ccrfmcuu2#
您可以使用
kubectl get nodes -o wide
命令来获取更详细的节点列表,其中包含Roles列。在那里你可以看到控制平面,主节点,etcd节点有一个特殊的标签。