了解Google Cloud Platform中Kubernetes群集的节点

时间:2017-11-22 06:32:37

标签: kubernetes google-cloud-platform

作为Google Cloud Platform的新手,我对kubernetes群集中的节点有一个基本问题。

通过免费层访问,我推出了一个包含3个节点的 kubernetes集群。

kubectl get nodes
NAME                                       STATUS    ROLES     AGE       VERSION
gke-cluster-1-default-pool-5ac7520f-097t   Ready     <none>    20h       v1.7.8-gke.0
gke-cluster-1-default-pool-5ac7520f-9lp7   Ready     <none>    20h       v1.7.8-gke.0
gke-cluster-1-default-pool-5ac7520f-vhs2   Ready     <none>    20h       v1.7.8-gke.0

尝试探索群集时,我们知道启动的节点只是pod而不是VM或服务器

$kubectl --namespace=kube-system get pods 
NAME                                                 READY     STATUS    RESTARTS   AGE 
kube-proxy-gke-cluster-1-default-pool-5ac7520f-097t   1/1       Running   0          20h 
kube-proxy-gke-cluster-1-default-pool-5ac7520f-9lp7   1/1       Running   0          20h 
kube-proxy-gke-cluster-1-default-pool-5ac7520f-vhs2   1/1       Running   0          20h

(注意:删除了有关其他pod的信息以便于阅读)

这里的混淆是如何实现群集中节点的高可用性(因为pod的实例数是1/1)?

1 个答案:

答案 0 :(得分:2)

我认为您错过了节点的实际设置方式。

每个节点都是网络中的一个单独的虚拟机。他们在他们之间托管您的Kubernetes网络。 Kubeproxy只是节点的一个方面,它允许pod,服务和部署在节点之间进行通信。在这些节点上还运行着许多额外的部署。我通常忽略所有系统命名空间,因为它只是工作,但您可以在Guber Web界面中查看它们,在Kubernetes Engine,Workloads下。然后删除Is System Object标志。

Kubeproxy在每个节点上作为pod启动,如果失败,Kubernetes会在节点上重启它,这将(希望)恢复节点并使其能够再次正确通信。