J'ai créé un cluster GKE avec un pool de nœuds, mais j'ai oublié d'étiqueter les nœuds ... Dans l'interface utilisateur de Google Cloud Platform, je ne peux pas modifier ou ajouter des étiquettes Kubernetes pour le pool de nœuds existant ... Comment puis-je le faire sans recréer tout le pool de nœuds ?
3 Réponses :
Vous pouvez modifier la configuration de votre nœud, y compris les étiquettes, avec kubectl
:
kubectl edit node <your node name>
Utilisez kubectl get node
pour obtenir une liste de vos nœuds. Si vous rencontrez des problèmes pour vous connecter à votre cluster GKE, consultez la documentation ici .
Non, cette solution ne m'aidera pas car si je redimensionne mon pool de nœuds à 0 et après cela redimensionner à 3, les étiquettes disparaîtront car il y aura de nouveaux nœuds.
Bon point. Je pense que nous n'avons plus d'options, car l'API de mise à jour du pool de nœuds ne gère pas les étiquettes .
Il n'est pas possible de modifier les libellés sans recréer les nœuds. Par conséquent, GKE ne prend pas en charge la mise à jour des libellés sur les pools de nœuds.
Dans GKE, les étiquettes Kubernetes sont appliquées aux nœuds par le binaire kubelet
qui les reçoit sous forme d'indicateurs transmis via le script de démarrage du nœud. Comme il est tout aussi perturbateur (ou plus perturbateur) de recréer tous les nœuds dans un pool de nœuds que de créer un nouveau pool de nœuds, la mise à jour des étiquettes n'est pas une opération prise en charge pour mettre à jour un pool de nœuds.
Mais je ne comprends pas la raison pour laquelle c'est impossible. Je vous propose simplement d'ajouter la possibilité d'ajouter la teinte et l'étiquette après la création du pool de nœuds. Il n'y a aucun sens de recréer ou de redémarrer les nœuds du pool pour ajouter une étiquette ou une altération! Alors, quel est le problème?
La façon dont les étiquettes sont actuellement ajoutées se fait via des arguments kubelet. Si le kubelet redémarre, il réappliquera les étiquettes avec lesquelles il a été démarré, effaçant toutes les modifications que vous avez apportées autrement (comme indiqué dans l'autre réponse). La communauté Kubernetes travaille sur la suppression de la capacité du kubelet à s'auto-étiqueter, de sorte que la façon dont cela fonctionne changera à l'avenir et une fois que ce changement sera dans GKE, je m'attendrais à ce que l'API du pool de nœuds de mise à jour prenne en charge le changement dynamique des étiquettes.
Cool. Attendons.
Créez un nouveau pool de nœuds comme vous le souhaitez, puis migrez-y votre charge de travail. Détruisez ensuite l'ancienne piscine.
En fonction de votre charge de travail, il peut y avoir un «blip» dans votre service lorsque les pods sont déplacés vers le nouveau nœud.
Je définis deux pools de nœuds: bleu et vert. À tout moment, une seule piscine est en place.
Si j'ai besoin de faire un changement:
Et je suis prêt pour mon prochain changement.
David