k8s中如何判断一个节点是master还是worker? [已关闭]

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

在K8s中,每个集群都有一组节点,一些是master节点,另一些是worker节点。 我们如何知道一个节点是master还是worker?

kubernetes
4个回答
5
投票

一般来说,检查节点是master还是worker的最简单方法是检查它是否有标签

node-role.kubernetes.io/control-plane
或在Kubernetes之前
v1.20
node-role.kubernetes.io/master
):

自从 Kubernetes

v1.20
:

kubectl get nodes -l 'node-role.kubernetes.io/control-plane'

在 Kubernetes 之前

v1.20
:

kubectl get nodes -l 'node-role.kubernetes.io/master'

为了获得工人,我们可以对上述表达式使用否定(因为 Kubernetes

v1.20
):

kubectl get nodes -l '!node-role.kubernetes.io/control-plane'

在 Kubernetes 之前

v1.20
:

kubectl get nodes -l '!node-role.kubernetes.io/master'

另一种方法是使用命令

kubectl cluster-info
,它将打印
control-plane
的IP地址:

Kubernetes control plane is running at https://{ip-address-of-the-control-plane}:8443

请记住,对于某些云提供的解决方案,其工作方式可能完全不同。例如,在 GKE 中,默认情况下节点没有任何角色,并且

kubectl cluster-info
返回的 IP 地址是 API Server 的地址,未在
kubectl get nodes
命令中列出,因此请务必记住仔细检查您提供的文档Kubernetes 集群提供商。


2
投票

如果您的集群是 EKS 集群的一部分,则主节点将不可用/作为下面提到的

get nodes
命令的一部分

kubectl get nodes

这个文档还有更多信息


1
投票

您可以使用

kubectl get nodes
列出所有节点。通过角色
control-plane
master
,您可以识别该节点。在未来的版本中,
master
将替换为
control-plane

默认情况下,所有其他没有角色的节点都应该是工作节点。

此外,如果您需要有关节点的更多信息,您可以致电

kubectl get nodes -o wide


1
投票

运行

node
api-server
kube-controller-management
kube-scheduler
master
节点。

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