Google-Cloud-Platform

Gcloud create node-pool 在自動修復中永遠掛起,沒有節點

  • June 7, 2020

向現有集群添加新節點池失敗,沒有節點註冊。

用於添加節點池的命令如下(項目名稱已更改):

gcloud container --project my-project node-pools create hm-pool --cluster ds-cluster-west4 --zone europe-west4-c --node-version 1.16.9-gke.2 --machine-type n1-highmem-4 --image-type COS --disk-type pd-standard --disk-size 100 --metadata disable-legacy-endpoints=true --scopes logging-write,monitoring,pubsub,service-control,service-management,storage-full,taskqueue,trace --num-nodes 2 --enable-autoupgrade --enable-autorepair --max-surge-upgrade 1 --max-unavailable-upgrade 0

我收到以下錯誤消息

This will enable the autorepair feature for nodes. Please see https://cloud.google.com/kubernetes-engine/docs/node-auto-repair for more information on node autorepairs.
Creating node pool hm-pool...done.
ERROR: (gcloud.container.node-pools.create) Operation [<Operation
clusterConditions: [<StatusCondition
message: 'All cluster resources were brought up, but: only 0 nodes out of 2 have registered; cluster may be unhealthy.'>]
detail: 'All cluster resources were brought up, but: only 0 nodes out of 2 have registered; cluster may be unhealthy.'
endTime: '2020-06-04T15:17:05.810921209Z'
name: 'operation-1591282299021-26295b28'
nodepoolConditions: []
operationType: OperationTypeValueValuesEnum(CREATE_NODE_POOL, 7)
selfLink: 'https://container.googleapis.com/v1/projects/473462597806/zones/europe-west4-c/operations/operation-1591282299021-26295b28'
startTime: '2020-06-04T14:51:39.021046271Z'
status: StatusValueValuesEnum(DONE, 3)
statusMessage: 'All cluster resources were brought up, but: only 0 nodes out of 2 have registered; cluster may be unhealthy.'
targetLink: 'https://container.googleapis.com/v1/projects/473462597806/zones/europe-west4-c/clusters/ds-cluster-west4/nodePools/hm-pool'
zone: 'europe-west4-c'>] finished with error: All cluster resources were brought up, but: only 0 nodes out of 2 have registered; cluster may be unhealthy.

在控制台上,我看到消息“自動修復節點池 hm-pool 中的節點”。我看到它hm-pool正在更新。池中有 0 個節點。

我究竟做錯了什麼?

問題在於新節點池的規範中缺少應用於集群的標籤。我使用從現有節點之一提取標籤資訊,gcloud compute instances describe --format="value[delimiter=','](tags.items) INSTANCE-NAME並將輸出用作--tagsnode-pools create 命令選項的參數。然後成功創建了節點池。

引用自:https://serverfault.com/questions/1020056