2.2. Arrêt du cluster
Vous pouvez arrêter votre cluster de manière gracieuse afin qu'il puisse être redémarré ultérieurement.
Vous pouvez arrêter une grappe jusqu'à un an après la date d'installation et vous attendre à ce qu'elle redémarre sans problème. Après un an à compter de la date d'installation, les certificats de la grappe expirent.
Conditions préalables
-
Vous avez accès au cluster en tant qu'utilisateur ayant le rôle
cluster-admin
. Vous avez effectué une sauvegarde etcd.
ImportantIl est important de faire une sauvegarde d'etcd avant d'effectuer cette procédure afin que votre cluster puisse être restauré si vous rencontrez des problèmes lors du redémarrage du cluster.
Par exemple, les conditions suivantes peuvent entraîner un dysfonctionnement du cluster redémarré :
- corruption des données etcd lors de l'arrêt
- Défaillance d'un nœud due au matériel
- Problèmes de connectivité du réseau
Si votre cluster ne se rétablit pas, suivez les étapes pour rétablir l'état précédent du cluster.
Procédure
Si vous arrêtez le cluster pour une période prolongée, déterminez la date d'expiration des certificats.
$ oc -n openshift-kube-apiserver-operator get secret kube-apiserver-to-kubelet-signer -o jsonpath='{.metadata.annotations.auth\.openshift\.io/certificate-not-after}'
Exemple de sortie
2022-08-05T14:37:50Zuser@user:~ $ 1
- 1
- Pour garantir un redémarrage en douceur du cluster, prévoyez de le redémarrer au plus tard à la date spécifiée. Lors du redémarrage du cluster, il se peut que vous deviez approuver manuellement les demandes de signature de certificat (CSR) en attente pour récupérer les certificats des kubelets.
Arrêtez tous les nœuds du cluster. Vous pouvez le faire à partir de la console web de votre fournisseur de cloud ou exécuter la boucle suivante :
for node in $(oc get nodes -o jsonpath='{.items[*].metadata.name}') ; do oc debug node/${node} -- chroot /host shutdown -h 1 ; done 1
- 1
-h 1
indique la durée, en minutes, de ce processus avant l'arrêt des nœuds du plan de contrôle. Pour les clusters à grande échelle de 10 nœuds ou plus, définissez une durée de 10 minutes ou plus afin de vous assurer que tous les nœuds de calcul ont le temps de s'arrêter en premier.
Exemple de sortie
Starting pod/ip-10-0-130-169us-east-2computeinternal-debug ... To use host binaries, run `chroot /host` Shutdown scheduled for Mon 2021-09-13 09:36:17 UTC, use 'shutdown -c' to cancel. Removing debug pod ... Starting pod/ip-10-0-150-116us-east-2computeinternal-debug ... To use host binaries, run `chroot /host` Shutdown scheduled for Mon 2021-09-13 09:36:29 UTC, use 'shutdown -c' to cancel.
L'arrêt des nœuds à l'aide de l'une de ces méthodes permet aux pods de se terminer de manière élégante, ce qui réduit le risque de corruption des données.
NoteAjustez le temps d'arrêt pour qu'il soit plus long pour les grappes à grande échelle :
$ for node in $(oc get nodes -o jsonpath='{.items[*].metadata.name}'); do oc debug node/${node} -- chroot /host shutdown -h 10; done
NoteIl n'est pas nécessaire de vider les nœuds du plan de contrôle des pods standard livrés avec OpenShift Container Platform avant l'arrêt.
Les administrateurs de clusters sont chargés de garantir un redémarrage propre de leurs propres charges de travail après le redémarrage du cluster. Si vous avez vidangé des nœuds du plan de contrôle avant l'arrêt en raison de charges de travail personnalisées, vous devez marquer les nœuds du plan de contrôle comme planifiables pour que le cluster soit à nouveau fonctionnel après le redémarrage.
Désactivez toutes les dépendances du cluster qui ne sont plus nécessaires, telles que le stockage externe ou le serveur LDAP. Veillez à consulter la documentation de votre fournisseur avant de procéder à cette opération.
ImportantSi vous avez déployé votre cluster sur une plateforme de fournisseur de cloud, n'arrêtez pas, ne suspendez pas et ne supprimez pas les ressources cloud associées. Si vous supprimez les ressources cloud d'une machine virtuelle suspendue, OpenShift Container Platform risque de ne pas se restaurer correctement.