6.2. Configuration de l'autoscaler de cluster


Tout d'abord, déployez le cluster autoscaler pour gérer la mise à l'échelle automatique des ressources dans votre cluster OpenShift Container Platform.

Note

Étant donné que l'autoscaler de cluster s'applique à l'ensemble du cluster, vous ne pouvez créer qu'un seul autoscaler de cluster pour le cluster.

6.2.1. Définition de la ressource ClusterAutoscaler

Cette définition de ressource ClusterAutoscaler montre les paramètres et les valeurs d'exemple pour l'autoscaler de cluster.

apiVersion: "autoscaling.openshift.io/v1"
kind: "ClusterAutoscaler"
metadata:
  name: "default"
spec:
  podPriorityThreshold: -10 1
  resourceLimits:
    maxNodesTotal: 24 2
    cores:
      min: 8 3
      max: 128 4
    memory:
      min: 4 5
      max: 256 6
    gpus:
      - type: nvidia.com/gpu 7
        min: 0 8
        max: 16 9
      - type: amd.com/gpu
        min: 0
        max: 4
  logVerbosity: 4 10
  scaleDown: 11
    enabled: true 12
    delayAfterAdd: 10m 13
    delayAfterDelete: 5m 14
    delayAfterFailure: 30s 15
    unneededTime: 5m 16
    utilizationThreshold: "0.4" 17
1
Spécifiez la priorité qu'un pod doit dépasser pour que l'autoscaler de cluster déploie des nœuds supplémentaires. Entrez une valeur entière de 32 bits. La valeur podPriorityThreshold est comparée à la valeur PriorityClass que vous attribuez à chaque module.
2
Indiquez le nombre maximal de nœuds à déployer. Cette valeur correspond au nombre total de machines déployées dans votre cluster, et pas seulement à celles que l'autoscaler contrôle. Veillez à ce que cette valeur soit suffisamment importante pour prendre en compte toutes les machines de calcul et du plan de contrôle, ainsi que le nombre total de répliques spécifié dans les ressources MachineAutoscaler.
3
Spécifiez le nombre minimum de cœurs à déployer dans le cluster.
4
Spécifiez le nombre maximum de cœurs à déployer dans le cluster.
5
Spécifiez la quantité minimale de mémoire, en GiB, dans le cluster.
6
Spécifiez la quantité maximale de mémoire, en GiB, dans le cluster.
7
Facultatif : Spécifiez le type de nœud GPU à déployer. Seuls nvidia.com/gpu et amd.com/gpu sont des types valides.
8
Spécifiez le nombre minimum de GPU à déployer dans le cluster.
9
Spécifiez le nombre maximum de GPU à déployer dans le cluster.
10
Spécifiez le niveau de verbosité de la journalisation entre 0 et 10. Les seuils de niveau de journalisation suivants sont fournis à titre indicatif :
  • 1(par défaut) Informations de base sur les modifications.
  • 4: Verbosité au niveau du débogage pour résoudre les problèmes typiques.
  • 9: Informations de débogage étendues au niveau du protocole.

Si vous ne spécifiez pas de valeur, la valeur par défaut de 1 est utilisée.

11
Dans cette section, vous pouvez spécifier la période d'attente pour chaque action en utilisant n'importe quel intervalle ParseDuration valide, y compris ns, us, ms, s, m, et h.
12
Indiquez si l'autoscaler de cluster peut supprimer les nœuds inutiles.
13
Facultatif : Spécifiez le délai d'attente avant la suppression d'un nœud après qu'un nœud ait été récemment added. Si vous ne spécifiez pas de valeur, la valeur par défaut de 10m est utilisée.
14
Facultatif : Spécifiez le délai d'attente avant la suppression d'un nœud après qu'un nœud ait été récemment deleted. Si vous ne spécifiez pas de valeur, la valeur par défaut de 0s est utilisée.
15
Facultatif : Indiquez le délai d'attente avant la suppression d'un nœud après un échec de mise à l'échelle. Si vous n'indiquez pas de valeur, la valeur par défaut de 3m est utilisée.
16
Facultatif : Spécifiez la période avant qu'un nœud inutile ne soit éligible à la suppression. Si vous ne spécifiez pas de valeur, la valeur par défaut de 10m est utilisée.<17> Facultatif : Indiquez l'adresse node utilization level en dessous de laquelle un nœud inutile peut être supprimé. Le niveau d'utilisation du nœud correspond à la somme des ressources demandées divisée par les ressources allouées au nœud et doit être supérieur à "0" et inférieur à "1". Si vous n'indiquez pas de valeur, l'autoscaler de cluster utilise la valeur par défaut "0.5", qui correspond à une utilisation de 50 %. Cette valeur doit être exprimée sous la forme d'une chaîne de caractères.
Note

Lors d'une opération de mise à l'échelle, l'autoscaler de cluster reste dans les plages définies dans la définition de la ressource ClusterAutoscaler, comme le nombre minimum et maximum de cœurs à déployer ou la quantité de mémoire dans le cluster. Cependant, l'autoscaler de cluster ne corrige pas les valeurs actuelles de votre cluster pour qu'elles soient comprises dans ces plages.

Les valeurs minimales et maximales des CPU, de la mémoire et des GPU sont déterminées en calculant ces ressources sur tous les nœuds de la grappe, même si l'autoscaler de grappe ne gère pas les nœuds. Par exemple, les nœuds du plan de contrôle sont pris en compte dans la mémoire totale de la grappe, même si l'autoscaler de la grappe ne gère pas les nœuds du plan de contrôle.

6.2.2. Déploiement du cluster autoscaler

Pour déployer le cluster autoscaler, vous créez une instance de la ressource ClusterAutoscaler.

Procédure

  1. Créer un fichier YAML pour la ressource ClusterAutoscaler qui contient la définition de la ressource personnalisée.
  2. 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é.
Red Hat logoGithubRedditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez leBlog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

© 2024 Red Hat, Inc.