以编程方式检测Kubernetes节点是否是主/控制平面

jvidinwx  于 2023-10-17  发布在  Kubernetes
关注(0)|答案(2)|浏览(125)

如何通过命令行检测Kubernetes节点是否是主/控制平面?有没有可以检查的环境变量?

zmeyuzjn

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:部分:

# kubectl get nodes cp01 -o yaml
...
  labels:
    kubernetes.io/os: linux
    node-role.kubernetes.io/controlplane: "true"
    node-role.kubernetes.io/etcd: "true"
...
ccrfmcuu

ccrfmcuu2#

您可以使用kubectl get nodes -o wide命令来获取更详细的节点列表,其中包含Roles列。在那里你可以看到控制平面,主节点,etcd节点有一个特殊的标签。

相关问题