我创建了一个集群:
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.
我做错什么了吗?我想如果某个节点死了,它可以自动启动新节点。
答案 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。