Je souhaite augmenter/réduire le nombre de machines pour augmenter/diminuer le nombre de nœuds dans mon cluster Kubernetes. Lorsque j’ajoute une machine, je peux l’enregistrer avec succès auprès de Kubernetes; Par conséquent, un nouveau nœud est créé comme prévu. Cependant, il n’est pas clair pour moi comment éteindre la machine en douceur plus tard. Un bon flux de travail serait:
Si j'ai bien compris, même kubectl drain
_ ( discussion ) ne fait pas ce que j’attends car il ne démarre pas les pods avant de les supprimer (il faut un contrôleur de réplication pour démarrer les pods par la suite, ce qui peut provoquer des temps morts). Est-ce que je manque quelque chose?
Comment dois-je éteindre correctement une machine?
Listez les nœuds et obtenez le <node-name>
vous voulez drainer ou (retirer du cluster)
kubectl get nodes
1) Drainez d'abord le noeud
kubectl drain <node-name>
Vous devrez peut-être ignorer les daemonsets et les données locales de la machine
kubectl drain <node-name> --ignore-daemonsets --delete-local-data
2) Éditer le groupe d'instances pour les nœuds (uniquement si vous utilisez kops)
kops edit ig nodes
Réglez les tailles MIX et MAX à votre guise. -1 Enregistrez simplement le fichier (rien d’autre à faire)
Vous pouvez toujours voir des pods dans le nœud drainé qui sont liés à des daemonsets tels que des plugins réseau, fluentd pour les journaux, kubedns/coredns, etc.
3) Enfin supprimer le noeud
kubectl delete node <node-name>
4) Engagez l'état pour KOPS dans s3:
kops update cluster --yes
Rafael. kubectl drain
fonctionne comme vous le décrivez. Il y a des temps morts, comme si la machine était en panne.
Pouvez-vous décrire votre configuration? Combien de répliques avez-vous et êtes-vous provisionné de sorte que vous ne puissiez pas gérer les temps d'arrêt d'un seul réplica?