从GKE群集中删除节点后,GEK不会自动启动新节点

时间:2018-08-15 14:33:14

标签: kubernetes google-cloud-platform google-kubernetes-engine

我创建了一个集群:

gcloud container clusters create test

因此将有3个节点:

kubectl get nodes
NAME                                 STATUS    ROLES     AGE       VERSION
gke-test-default-pool-cec920a8-9cgz   Ready     <none>    23h       v1.9.7-gke.5
gke-test-default-pool-cec920a8-nh0s   Ready     <none>    23h       v1.9.7-gke.5
gke-test-default-pool-cec920a8-q83b   Ready     <none>    23h       v1.9.7-gke.5

然后我从集群中删除一个节点

kubectl delete node gke-test-default-pool-cec920a8-9cgz
node "gke-test-default-pool-cec920a8-9cgz" deleted

未创建新节点。

然后删除所有节点。仍然没有创建新的节点。

kubectl get nodes
No resources found.

我做错什么了吗?我想如果某个节点死了,它可以自动启动新节点。

2 个答案:

答案 0 :(得分:3)

运行kubectl delete node gke-test-default-pool-cec920a8-9cgz后运行gcloud compute instances delete gke-test-default-pool-cec920a8-9cgz

这实际上将删除VM(kubectl delete仅将其与集群“断开连接”)。 GCP将重新创建VM,并将自动重新加入群集。

答案 1 :(得分:0)

Kubernetes是用于管理工作负载而非计算机的系统。 Kubernetes节点对象反映了基础架构的状态。

因此,此类节点对象由Kubernetes自动管理。 “ kubectl删除节点”仅从Kubernetes“ etcd”存储中删除序列化的对象。在托管kubernetes节点的GCE端,它不会删除VM。 “ kubectl删除节点”并不意味着用于删除节点。节点池本身具有所需的声明状态,无法通过“ kubectl delete node”命令更改该状态。

如果要删除节点,则应resize the instance group