1 votes

Lors de la création d'un pool de nœuds régional avec gcloud. Les nœuds ne se registrent pas

Lors de l'exécution de la commande gcloud suivante sur mon cluster GKE existant

SCOPES=(
https://www.googleapis.com/auth/compute
https://www.googleapis.com/auth/devstorage.read_write
https://www.googleapis.com/auth/monitoring.write
https://www.googleapis.com/auth/logging.write
https://www.googleapis.com/auth/monitoring
https://www.googleapis.com/auth/pubsub
https://www.googleapis.com/auth/servicecontrol
https://www.googleapis.com/auth/service.management
https://www.googleapis.com/auth/sqlservice.admin
https://www.googleapis.com/auth/trace.append
https://www.googleapis.com/auth/cloud_debugger
https://www.googleapis.com/auth/cloud-platform
)

gcloud beta container node-pools create $POOL_NAME \
--machine-type $MACHINE_TYPE \
--disk-size $DISK_SIZE \
--enable-autorepair \
--enable-autoscaling \
--min-nodes 1 --max-nodes 4 \
--cluster $CLUSTER \
--zone $ZONE \
--num-nodes 1 \
--scopes $(printf ",%s" "${SCOPES[@]}")

(Notez que ceci est régional, donc en utilisant la commande beta - Je suppose que cela ne se produit pas avec des clusters non régionaux) Je reçois l'erreur suivante:

    Création du groupe de nœuds pool-alpha...terminée.                                                                                                                                                                                                        
ERREUR: (gcloud.beta.container.node-pools.create) L'opération [] s'est terminée avec une erreur: Toutes les ressources du cluster ont été mises en place, mais l'API du cluster indique que seul 0 nœuds sur 3 se sont enregistrés. Le cluster peut être en mauvaise santé.

Et en effet, les nœuds sont créés mais ne sont pas enregistrés sur le cluster. Un bug avec GKE?

0voto

Stan Bondi Points 123

Anton Kostenko a donné la réponse sur StackOverflow:

https://stackoverflow.com/questions/49667351/when-creating-a-node-pool-multi-zone-with-gcloud-the-nodes-do-not-register-on

C'était un problème avec ma ligne --scopes $(printf ",%s" "${SCOPES[@]}") qui ajoutait une virgule supplémentaire à la fin, ce qui n'est pas validé sur la CLI de gcloud et rompt un processus interne d'enregistrement de nœud GKE.

Je l'ai changé en --scopes $(IFS=','; echo "${SCOPES[*]}") (sans virgule finale) et maintenant ça marche

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X