为什么我不能在完全管理的kubernetes中获取主节点信息?
各位 请告诉我为什么为什么我不能在完全管理的kubernetes中获取主节点信息?,kubernetes,Kubernetes,各位 请告诉我为什么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
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
$
此结果包括主节点信息
我很好奇为什么我不能在完全管理的kubernetes集群中获得主节点信息。
我知道完全托管服务的优势在于我们不必管理管理层。我想知道如何创建不显示主节点信息的kubernetes群集。
我试图用“艰难之路”创建一个集群,但找不到任何可以作为提示的信息
至少,我现在只是在学英语。如果我错了,请更正。因为没有具有该角色的节点。GKE的控制平面托管在他们自己的magic系统中,而不是您自己的节点上。这是一个好问题 关键是Kubernetes的
kubelet
组件。托管Kubernetes版本在主机上运行控制平面组件,但它们不运行
kubelet
。你可以在DIY集群上轻松实现同样的目标
kubelet是在每个节点上运行的主要“节点代理”。它可以使用以下之一向apiserver注册节点:主机名;覆盖主机名的标志;或云提供商的特定逻辑
当kubelet flag--register节点为true(默认值)时,kubelet将尝试向API服务器注册自身。这是大多数发行版使用的首选模式
这是否回答了您的问题?谢谢你提供的信息。这是很好的信息,但我想知道为什么我不能使用
kubectl get node
命令获取主节点信息。换句话说,我想知道是什么设置导致了这个结果。谢谢你这么好的回答。这正是我想要的。“注册节点”标志是密钥。我理解。很高兴它起了作用。我不确定,但我怀疑托管Kubernetes根本不会在其主服务器上运行kubelet
。kubelet的主要功能是运行pods。所以,如果master不应该运行pods,那么就没有理由在那里运行kubelet
。谢谢您的回答。据我所知,GKE控制飞机托管在GCP的magic系统上。然而,我认为GCP的魔法系统区域中有任何主节点。我想知道是什么设置隐藏了它们。没有隐藏任何内容,因为没有“主节点”。虽然集群连接到一个控制平面(kube apiserver等),但它并没有在属于集群的节点上运行。
$ 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
$