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

问题描述 投票:0回答:2

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

kubernetes kubectl
2个回答
0
投票

Kubernetes 提供标签和选择器,可用于选择分配给节点的角色。

要选择控制平面节点,请使用选择器选择该角色:

# 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 rcp-t-sandbox01 -o yaml
...
  labels:
    kubernetes.io/os: linux
    node-role.kubernetes.io/controlplane: "true"
    node-role.kubernetes.io/etcd: "true"
...

-1
投票

您可以使用

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

© www.soinside.com 2019 - 2024. All rights reserved.