6.11. À propos de l'autoscaler de la machine
L'autoscaler de machines ajuste le nombre de machines dans les ensembles de machines de calcul que vous déployez dans un cluster OpenShift Container Platform. Vous pouvez mettre à l'échelle à la fois l'ensemble de machines de calcul par défaut worker
et tout autre ensemble de machines de calcul que vous créez. L'autoscaler de machines crée plus de machines lorsque le cluster manque de ressources pour prendre en charge plus de déploiements. Toute modification des valeurs dans les ressources MachineAutoscaler
, telles que le nombre minimum ou maximum d'instances, est immédiatement appliquée à l'ensemble de machines de calcul qu'elle cible.
Vous devez déployer un autoscaler de machines pour que l'autoscaler de clusters puisse mettre à l'échelle vos machines. L'autoscaler de cluster utilise les annotations sur les ensembles de machines de calcul que l'autoscaler de machine définit pour déterminer les ressources qu'il peut mettre à l'échelle. Si vous définissez un autoscaler de cluster sans définir également des autoscalers de machines, l'autoscaler de cluster ne mettra jamais votre cluster à l'échelle.
6.11.1. Définition de la ressource MachineAutoscaler
Cette définition de la ressource MachineAutoscaler
montre les paramètres et les valeurs d'exemple pour l'autoscaler de la machine.
apiVersion: "autoscaling.openshift.io/v1beta1" kind: "MachineAutoscaler" metadata: name: "worker-us-east-1a" 1 namespace: "openshift-machine-api" spec: minReplicas: 1 2 maxReplicas: 12 3 scaleTargetRef: 4 apiVersion: machine.openshift.io/v1beta1 kind: MachineSet 5 name: worker-us-east-1a 6
- 1
- Spécifiez le nom de l'autoscaler de machine. Pour faciliter l'identification de l'ensemble de machines de calcul que cet autoscaler de machine met à l'échelle, spécifiez ou incluez le nom de l'ensemble de machines de calcul à mettre à l'échelle. Le nom de l'ensemble de machines de calcul prend la forme suivante :
<clusterid>-<machineset>-<region>
. - 2
- Indiquez le nombre minimum de machines du type spécifié qui doivent rester dans la zone spécifiée après que l'autoscaler de cluster a initié la mise à l'échelle du cluster. En cas d'exécution sur AWS, GCP, Azure, RHOSP ou vSphere, cette valeur peut être définie sur
0
. Pour les autres fournisseurs, ne définissez pas cette valeur sur0
.Vous pouvez réaliser des économies en définissant cette valeur sur
0
pour des cas d'utilisation tels que l'exécution de matériel coûteux ou à usage limité utilisé pour des charges de travail spécialisées, ou en mettant à l'échelle un ensemble de machines de calcul avec des machines de très grande taille. L'autoscaler de cluster réduit l'ensemble de machines de calcul à zéro si les machines ne sont pas utilisées.ImportantNe définissez pas la valeur
spec.minReplicas
sur0
pour les trois ensembles de machines de calcul qui sont créés pendant le processus d'installation d'OpenShift Container Platform pour une infrastructure provisionnée par l'installateur. - 3
- Indiquez le nombre maximum de machines du type spécifié que l'autoscaler de cluster peut déployer dans la zone spécifiée après avoir initié la mise à l'échelle du cluster. Assurez-vous que la valeur
maxNodesTotal
dans la définition de la ressourceClusterAutoscaler
est suffisamment grande pour permettre à l'autoscaler de machines de déployer ce nombre de machines. - 4
- Dans cette section, indiquez les valeurs qui décrivent l'ensemble des machines de calcul existantes à mettre à l'échelle.
- 5
- La valeur du paramètre
kind
est toujoursMachineSet
. - 6
- La valeur
name
doit correspondre au nom d'un ensemble de machines de calcul existant, comme indiqué dans la valeur du paramètremetadata.name
.
6.11.2. Déploiement de la machine autoscaler
Pour déployer la machine autoscaler, vous créez une instance de la ressource MachineAutoscaler
.
Procédure
-
Créer un fichier YAML pour la ressource
MachineAutoscaler
qui contient la définition de la ressource personnalisée. Créer la ressource dans le cluster :
$ oc create -f <filename>.yaml 1
- 1
<filename>
est le nom du fichier de ressources que vous avez personnalisé.