Ce document s'adresse aux administrateurs de plate-forme qui exécutent des machines virtuelles (VM) dans des clusters Anthos sur solution Bare Metal. Ce document explique comment configurer la règle d'éviction qui contrôle la manière dont les VM qui utilisent l'environnement d'exécution des VM Anthos peuvent migrer automatiquement vers d'autres hôtes lors d'événements de maintenance. Ces paramètres de configuration vous permettent de continuer à exécuter des VM sur d'autres hôtes lorsque vous mettez à niveau un cluster ou effectuez une maintenance sur un hôte.
Avant de commencer
Pour suivre ce document, vous devez avoir accès aux clusters Anthos sur solution Bare Metal version 1.12.0 (anthosBareMetalVersion: 1.12.0
) ou ultérieure. Vous pouvez utiliser n'importe quel type de cluster capable d'exécuter des charges de travail. Si nécessaire, essayez les clusters Anthos sur solution Bare Metal sur Compute Engine ou consultez la présentation de la création de clusters.
Paramètres des règles d'éviction
Les clusters Anthos sur solution Bare Metal vous permettent de configurer le comportement des nœuds lorsque vous effectuez des mises à niveau ou placez les nœuds en mode de maintenance. L'environnement d'exécution des VM Anthos utilise des règles d'éviction qui contrôlent la manière dont le cluster gère les VM qui s'exécutent lors de ces événements.
Lorsque cette option est activée, l'environnement d'exécution des VM Anthos utilise la migration à chaud pour déplacer les charges de travail de VM vers un autre hôte par défaut. Ce comportement minimise les perturbations potentielles des charges de travail de VM. Avec la migration à chaud, les VM pouvant être migrées passent d'un hôte à un autre sans perturbation pour le système d'exploitation invité.
Les paramètres suivants peuvent être configurés pour les règles d'éviction :
Propriété | Par défaut | Valeurs valides |
---|---|---|
evictionStrategy |
LiveMigrate |
LiveMigrate , Restart |
maxMigrationAttemptsPerVM |
3 |
Entiers compris dans la plage [1 ,5 ] |
migrationTargetInitializationTimeout |
30s |
Toute chaîne de durée valide, telle que 1m , 2h ou 1h30m |
evictionStrategy
Si cette valeur est définie sur LiveMigrate
, l'environnement d'exécution des VM Anthos tente de migrer toute VM pouvant être transférée depuis un nœud pour l'exclure. La VM est placée sur un autre nœud du cluster et continue de s'exécuter.
Si cette valeur est définie sur Restart
, l'environnement d'exécution des VM Anthos ne tente pas de migrer les VM. Au lieu de cela, les VM sont arrêtées lorsque le nœud est mis en mode de maintenance, puis redémarrent lorsque les nœuds sont désactivés.
La VM n'est pas disponible pendant l'événement de maintenance de l'hôte.
Lorsque vous choisissez la stratégie LiveMigrate
, l'environnement d'exécution des VM Anthos revient à la stratégie Restart
pour les VM ne pouvant pas être migrées.
maxMigrationAttemptsPerVM
Ce paramètre contrôle le nombre maximal de tentatives de migration pouvant être effectuées pour une VM particulière avant que la stratégie Restart
ne s'applique.
Ce paramètre est ignoré si evictionStrategy
est défini sur Restart
.
migrationTargetInitializationTimeout
Ce paramètre contrôle le délai maximal de démarrage d'une migration avant qu'elle soit considérée comme ayant échoué. Une migration qui prend trop de temps est comptabilisée dans le budget de migration en échec pour une charge de travail de VM.
Ce paramètre est ignoré si evictionStrategy
est défini sur Restart
.
Activer et configurer la règle d'éviction
Pour utiliser la règle d'éviction dans l'environnement d'exécution des VM Anthos, le paramètre evictionPolicy
doit être défini dans l'objet VMRuntime
de votre cluster. Ce paramètre est activé par défaut dans les clusters Anthos sur solution Bare Metal version 1.12 et ultérieure. Si vous effectuez une mise à niveau à partir d'une version précédente, vous devez activer ce paramètre manuellement.
Un objet vide, tel que evictionPolicy: {}
, active la règle d'éviction avec les paramètres par défaut. Pour modifier le comportement par défaut, ajoutez des options de configuration supplémentaires à l'objet evictionPolicy
.
Pour activer et configurer la règle d'éviction, procédez comme suit :
Modifiez la ressource personnalisée
VMRuntime
:kubectl edit vmruntime vmruntime
Ajoutez ou mettez à jour la section
evictionPolicy
avec un objet vide pour utiliser les paramètres de règle d'éviction par défaut, ou ajoutez les paramètres souhaités :apiVersion: vm.cluster.gke.io/v1 kind: VMRuntime metadata: name: vmruntime spec: disableCDIUploadProxyVIP: false enabled: true evictionPolicy: {} useEmulation: false
Si l'élément
evictionPolicy
n'est pas renseigné, tel queevictionPolicy: null
, ou n'est pas inclus dans le fichier manifeste, aucune action spéciale n'est effectuée. Les VM sont supprimées de force.Les exemples de fichiers manifestes suivants montrent comment activer la migration à chaud des VM ou redémarrer les VM sur le même hôte une fois la maintenance terminée :
Migration à chaud
L'exemple de règle d'éviction suivant active la migration à chaud des VM. Le cluster peut relancer la migration à chaud jusqu'à trois fois, avec un délai de 30 secondes pour le processus à chaque démarrage :
apiVersion: vm.cluster.gke.io/v1 kind: VMRuntime metadata: name: vmruntime spec: disableCDIUploadProxyVIP: false enabled: true evictionPolicy: evictionStrategy: LiveMigrate maxMigrationAttemptsPerVM: 3 migrationTargetInitializationTimeout: 30s useEmulation: false
Redémarrer
L'exemple de règle d'éviction suivant ne tente aucune migration pour les VM pendant l'éviction. Les VM sont arrêtées sur leur hôte actuel et redémarrent une fois que l'événement de maintenance sur l'hôte est terminé :
apiVersion: vm.cluster.gke.io/v1 kind: VMRuntime metadata: name: vmruntime spec: disableCDIUploadProxyVIP: false enabled: true evictionPolicy: evictionStrategy: Restart useEmulation: false
Enregistrez et fermez la ressource personnalisée
VMRuntime
dans votre éditeur.L'environnement d'exécution des VM Anthos applique désormais la règle d'éviction aux VM de votre cluster.