所有人。
请告诉我为什么kubectl get nodes
命令不返回完全托管的kubernetes集群中的主节点信息。
我在GKE有一个kubernetes星系团。当我输入kubectl get nodes
命令时,我得到以下信息。
$ kubectl get nodes
NAME STATUS ROLES AGE VERSION
gke-istio-test-01-pool-01-030fc539-c6xd Ready <none> 3m13s v1.13.11-gke.14
gke-istio-test-01-pool-01-030fc539-d74k Ready <none> 3m18s v1.13.11-gke.14
gke-istio-test-01-pool-01-030fc539-j685 Ready <none> 3m18s v1.13.11-gke.14
$
当然,我可以获得员工节点的信息。此信息与GKE网络控制台相同。顺便说一句,我有另一个kubernetes星系团,它由三个树莓pi和kubeadm组成。当我在这个集群中输入kubectl get nodes
命令时,我得到以下结果。
$ kubectl get nodes
NAME STATUS ROLES AGE VERSION
master Ready master 262d v1.14.1
node01 Ready <none> 140d v1.14.1
node02 Ready <none> 140d v1.14.1
$
此结果包括主节点信息。
我很好奇为什么不能在完全管理的kubernetes集群中获取主节点信息。我知道,完全管理的服务的优点是我们不需要管理层。我想知道如何创建一个没有显示主节点信息的kubernetes集群。我试图用“艰难的方法”创建一个集群,但是找不到任何可能是提示的信息。
至少,我现在只是在学英语。如果我错了,请纠正我。
发布于 2020-01-21 17:52:56
这是个好问题!
关键是Kubernetes的kubelet
组件。
托管Kubernetes版本在主版上运行控制平面组件,但它们不运行kubelet
。你可以很容易地在你的DIY集群上实现同样的目标。
-- kubelet是运行在每个节点上的主要“节点代理”。它可以使用以下方式之一将节点注册为:主机名;覆盖主机名的标志;或云提供程序的特定逻辑。
https://kubernetes.io/docs/reference/command-line-tools-reference/kubelet/
当kubelet标志-寄存器-节点为真(默认)时,kubelet将尝试在API服务器上注册本身。这是大多数发行版使用的首选模式。
https://kubernetes.io/docs/concepts/architecture/nodes/#self-registration-of-nodes
发布于 2020-01-21 06:56:47
因为没有具有该角色的节点。GKE的控制平面托管在他们自己的魔法系统中,而不是在您自己的节点上。
https://stackoverflow.com/questions/59835161
复制相似问题