Fonction d'ajustement automatique de grappe

Lorsque vous activez le module complémentaire d'ajustement automatique de grappe, vous pouvez transmettre les paires clé-valeur suivantes en tant qu'arguments.

Arguments de configuration communs à tous les modules complémentaires de grappes
Clé (API et interface de ligne de commande) Nom d'affichage de la clé (console) Description Obligatoire/Facultatif Par défaut Exemple de valeur
affinity affinité

Groupe de règles de programmation d'affinité.

Format JSON en texte brut ou encodé en Base64.

Facultatif null null
nodeSelectors sélecteurs de noeuds

Vous pouvez utiliser des sélecteurs de noeuds et des étiquettes de noeud pour contrôler les noeuds de travail sur lesquels les pods supplémentaires s'exécutent.

Pour qu'un pod s'exécute sur un noeud, le sélecteur de noeud du pod doit avoir la même clé/valeur que l'étiquette du noeud.

Réglez nodeSelectors à une paire clé/valeur qui correspond à la fois au sélecteur de noeud du pod et à l'étiquette du noeud de travail.

Format JSON en texte brut ou encodé en Base64.

Facultatif null {"foo":"bar", "foo2": "bar2"}

Le pod s'exécutera uniquement sur les noeuds qui ont l'étiquette foo=bar ou foo2=bar2.

numOfReplicas numOfReplicas Nombre de répliques du déploiement du module complémentaire.

(Pour CoreDNS, utilisez nodesPerReplica à la place.)

Obligatoire 1

Crée une réplique du déploiement du module complémentaire par grappe.

2

Crée deux répliques du déploiement du module complémentaire par grappe.

rollingUpdate rollingUpdate

Contrôle le comportement souhaité de la mise à jour continue par maxSurge et maxUnavailable.

Format JSON en texte brut ou encodé en Base64.

Facultatif null null
tolerations tolérances

Vous pouvez utiliser des teintes et des tolérances pour contrôler les noeuds de travail sur lesquels s'exécutent les pods complémentaires.

Pour qu'un pod s'exécute sur un noeud qui a une tache, le pod doit avoir une tolérance correspondante.

Réglez tolerations à une paire clé/valeur qui correspond à la fois à la tolérance du pod et à la couleur du noeud de travail.

Format JSON en texte brut ou encodé en Base64.

Facultatif null [{"key":"tolerationKeyFoo", "value":"tolerationValBar", "effect":"noSchedule", "operator":"exists"}]

Seuls les pods ayant cette tolérance peuvent s'exécuter sur des noeuds de travail ayant la teinte tolerationKeyFoo=tolerationValBar:noSchedule.

topologySpreadConstraints topologySpreadConstraints

Comment répartir les pods correspondants entre la topologie donnée.

Format JSON en texte brut ou encodé en Base64.

Facultatif null null
Arguments de configuration propres à ce module complémentaire de grappe
Clé (API et interface de ligne de commande) Nom d'affichage de la clé (console) Description Obligatoire/Facultatif Par défaut Exemple de valeur
annotations annotations

Annotations à transmettre au déploiement du composant d'ajustement automatique de grappe.

Par exemple, "{\"prometheus.io/scrape\":\"true\",\"prometheus.io/port\":\"8086\"}"

Format JSON en texte brut ou encodé en Base64.

Facultatif ""
authType authType Le type d'authentification utilisé par le composant d'ajustement automatique de grappe lors de l'exécution des demandes est l'un des suivants :
  • instance spécifie le principal d'instance
  • workload spécifie l'identité de charge de travail
Obligatoire instance
balanceSimilarNodeGroups balanceSimilarNodeGroups Détectez des groupes de noeuds similaires et équilibrez le nombre de noeuds entre eux. Facultatif false
balancingIgnoreLabel balancingIgnoreLabel Définissez une étiquette de noeud qui doit être ignorée lors de la prise en compte de la similarité des groupes de noeuds. Une étiquette par occurrence d'indicateur. Le format est label1, label2. Facultatif ""
balancingLabel balancingLabel Définissez une étiquette de noeud à utiliser lors de la comparaison de la similarité des groupes de noeuds. Si elle est définie, toute autre logique de comparaison est désactivée et seules les étiquettes sont prises en compte lors de la comparaison des groupes. Une étiquette par occurrence d'indicateur. Le format est label1, label2. Facultatif ""
cluster-autoscaler.ContainerResources ressources de conteneur d'ajustement automatique de grappe

Vous pouvez spécifier les quantités de ressources demandées par les conteneurs de module complémentaire et définir les limites d'utilisation des ressources que les conteneurs de module complémentaire ne peuvent pas dépasser.

Format JSON en texte brut ou encodé en Base64.

Facultatif null {"limits": {"cpu": "500m", "memory": "200Mi" }, "requests": {"cpu": "100m", "memory": "100Mi"}}

Créez des conteneurs complémentaires qui demandent 100 milllicores d'UC et 100 mégiboctets de mémoire. Limitez les conteneurs complémentaires à 500 milllicores d'UC et à 200 mégiboctets de mémoire.

cordonNodeBeforeTerminating (Non affiché dans la console) Les noeuds du cordon de l'autorité de certification doivent-ils se terminer lors du processus d'interruption? Facultatif false
coresTotal (Non affiché dans la console) Nombre minimal et maximal de coeurs dans la grappe, dans le format <min>:<max>. Le composant d'ajustement automatique de grappe n'ajustera pas la grappe au-delà de ces nombres. Facultatif 0:320000
daemonsetEvictionForEmptyNodes (Non affiché dans la console) Indique si les pods DaemonSet seront correctement arrêtés à partir de noeuds vides. Facultatif false
daemonsetEvictionForOccupiedNodes (Non affiché dans la console) Indique si les pods DaemonSet seront correctement arrêtés à partir de noeuds non vides. Facultatif true
debuggingSnapshotEnabled (Non affiché dans la console) Indique si l'instantané de débogage de la fonction d'ajustement automatique de grappe est activé. Facultatif false
emitPerNodegroupMetrics (Non affiché dans la console) Si la valeur est Vrai, émettez des mesures par groupe de noeuds. Facultatif false
enforceNodeGroupMinSize (Non affiché dans la console) Si l'autorité de certification doit ajuster le groupe de noeuds à la taille minimale configurée, si nécessaire. Facultatif false
estimator (Non affiché dans la console) Type d'estimateur de ressources à utiliser pour l'augmentation. Facultatif binpacking
expander développer Type d'expandeur de groupe de noeuds à utiliser pour l'augmentation.

Notez que expander=price n'est pas pris en charge.

Facultatif random
expendablePodsPriorityCutoff (Non affiché dans la console) Les pods dont la priorité est inférieure à la limite seront consommables. Ils peuvent être tués sans aucune considération pendant l'échelle vers le bas et ils ne provoquent pas l'échelle vers le haut. Les pods ayant une priorité nulle (PodPriority désactivé) ne sont pas durables. Facultatif -10
ignoreDaemonsetsUtilization (Non affiché dans la console) Indique si les pods DaemonSet seront ignorés lors du calcul de l'utilisation des ressources pour la réduction. Facultatif false
ignoreMirrorPodsUtilization (Non affiché dans la console) Indique si les pods Mirror seront ignorés lors du calcul de l'utilisation des ressources pour la réduction. Facultatif false
leaderElect (Non affiché dans la console) Démarrez un client électoral leader et gagnez en leadership avant d'exécuter la boucle principale. Activez cette option lors de l'exécution de composants répliqués pour la haute disponibilité. Facultatif true
leaderElectLeaseDuration (Non affiché dans la console) Durée pendant laquelle les candidats non-chefs attendront après avoir observé un renouvellement du leadership jusqu'à ce qu'ils essaient d'acquérir le leadership d'un poste de leader dirigé mais non renouvelé. Il s'agit en fait de la durée maximale pendant laquelle un leader peut être arrêté avant d'être remplacé par un autre candidat. Cela ne s'applique que si le choix du chef est activé. Facultatif 15s
leaderElectRenewDeadline (Non affiché dans la console) Intervalle entre les tentatives du composant d'ajustement automatique de grappe actif pour renouveler un créneau de direction avant qu'il ne s'arrête. Cette valeur doit être inférieure ou égale à la durée de la location. Cela ne s'applique que si le choix du chef est activé. Facultatif 10s
leaderElectResourceLock (Non affiché dans la console) Type d'objet de ressource utilisé pour le verrouillage lors de l'élection de chef de file. Les options prises en charge sont leases (par défaut), endpoints, endpointsleases, configmaps et configmapsleases. Facultatif leases
leaderElectRetryPeriod (Non affiché dans la console) La durée d'attente des clients entre la tentative d'acquisition et le renouvellement d'un leadership. Cela ne s'applique que si le choix du chef est activé. Facultatif 2s
maxAutoprovisionedNodeGroupCount (Non affiché dans la console) Nombre maximal de groupes provisionnés automatiquement dans la grappe. Facultatif 15
maxEmptyBulkDelete maxEmptyBulkDelete Nombre maximal de noeuds vides pouvant être supprimés en même temps. Facultatif 10
maxFailingTime (Non affiché dans la console) Temps maximal depuis la dernière exécution réussie de l'ajustement automatique enregistrée avant le redémarrage automatique. Facultatif 15m
maxGracefulTerminationSec (Non affiché dans la console) Nombre maximal de secondes pendant lesquelles l'autorité de certification attend l'arrêt du pod lors de la tentative de réduction d'un noeud. Facultatif 600
maxInactivity (Non affiché dans la console) Temps maximal à partir de la dernière activité d'ajustement automatique enregistrée avant le redémarrage automatique. Facultatif 10m
maxNodeProvisionTime maxNodeProvisionTime Temps maximal d'attente de l'autorité de certification pour le provisionnement du noeud. Facultatif 15m
maxNodesTotal (Non affiché dans la console) Nombre maximal de noeuds dans tous les groupes de noeuds. Le composant d'ajustement automatique de grappe n'augmentera pas la grappe au-delà de ce nombre. Facultatif 0
maxTotalUnreadyPercentage (Non affiché dans la console) Pourcentage maximal de noeuds non prêts dans la grappe. Après ce dépassement, l'autorité de certification arrête les opérations. Facultatif 45
memoryTotal (Non affiché dans la console) Nombre minimal et maximal de gigaoctets de mémoire dans la grappe, dans le format <min>:<max>. Le composant d'ajustement automatique de grappe n'ajustera pas la grappe au-delà de ces nombres. Facultatif 0:6400000
minReplicaCount (Non affiché dans la console) Nombre minimal de répliques qu'un jeu de répliques ou un contrôleur de réplication doit avoir pour autoriser la suppression de leurs pods à réduire la taille. Facultatif 0
nodes noeuds

Liste du nombre minimal de noeuds, du nombre maximal de noeuds et de l'OCID du groupe de noeuds à gérer par le composant d'ajustement automatique de grappe.

Le format est <min>:<max>:<node-pool1-ocid>, <min>:<max>:<node-pool2-ocid>.

Utilisez nodes ou nodeGroupAutoDiscovery, mais pas les deux.

Format JSON en texte brut ou encodé en Base64.

Obligatoire, si nodeGroupAutoDiscovery n'est pas défini ""
nodeGroupAutoDiscovery (Non affiché dans la console)

Liste des paires clé-valeur de marqueur, nombre minimal de noeuds, nombre maximal de noeuds et OCID du compartiment dans lequel se trouve le groupe de noeuds à gérer par le composant d'ajustement automatique de grappe.

Le format est compartmentId:<compartment-ocid>,nodepoolTags:<tagKey1>=<tagValue1>&<tagKey2>=<tagValue2>,min:<min-nodes>,max:<max-nodes>

Utilisez nodeGroupAutoDiscovery ou nodes, mais pas les deux.

Prise en charge de Cluster Autoscaler version 1.30.3, version 1.31.1 et version 1.32.0, et ultérieure.

Format JSON en texte brut ou encodé en Base64.

Obligatoire, si nodes n'est pas défini
okTotalUnreadyCount (Non affiché dans la console) Nombre de noeuds non prêts autorisés, quel que soit maxTotalUnreadyPercentage. Facultatif 3
recordDuplicatedEvents (Non affiché dans la console) Activez l'ajustement automatique pour imprimer les événements en double dans une fenêtre de 5 minutes. Facultatif false
scaleDownCandidatesPoolMinCount (Non affiché dans la console)

Nombre minimal de noeuds considérés comme des candidats non vides supplémentaires pour la réduction lorsque certains candidats de l'itération précédente ne sont plus valides. Lors du calcul de la taille du groupe pour les candidats supplémentaires que nous prenons.

max(#nodes * scale-down-candidates-pool-ratio,
              scale-down-candidates-pool-min-count)
Obligatoire 50
scaleDownCandidatesPoolRatio (Non affiché dans la console) Ratio de noeuds considérés comme des candidats non vides supplémentaires pour la réduction lorsque certains candidats de l'itération précédente ne sont plus valides. Une valeur inférieure signifie une meilleure réactivité de l'autorité de certification, mais une latence réduite plus lente. Une valeur plus élevée peut affecter les performances de l'autorité de certification avec de grands clusters (des centaines de nœuds). Réglez à 1.0 pour désactiver cette heuristique - CA utilisera tous les noeuds comme candidats supplémentaires. Obligatoire 0.1
scaleDownDelayAfterAdd scaleDownDelayAfterAdd Combien de temps après la mise à l'échelle, l'évaluation de réduction reprend. Obligatoire 10m
scaleDownDelayAfterDelete (Non affiché dans la console) Durée de reprise de l'évaluation réduite après la suppression du noeud. Par défaut, l'intervalle de balayage est utilisé. Obligatoire 10s
scaleDownDelayAfterFailure (Non affiché dans la console) Durée de reprise de l'évaluation après réduction de l'échec. Obligatoire 3m
scaleDownEnabled scaleDownEnabled L'autorité de certification doit réduire la grappe. Facultatif true
scaleDownNonEmptyCandidatesCount (Non affiché dans la console) Nombre maximal de noeuds non vides considérés dans une itération comme candidats pour une réduction avec drain. Une valeur inférieure signifie une meilleure réactivité de l'autorité de certification, mais une latence réduite plus lente. Une valeur plus élevée peut affecter les performances de l'autorité de certification avec de grands clusters (des centaines de nœuds). Régler à une valeur non positive pour désactiver cette heuristique - L'autorité de certification ne limitera pas le nombre de noeuds qu'elle considère. Obligatoire 30
scaleDownUnneededTime scaleDownUnneededTime Durée pendant laquelle un noeud doit être inutile avant d'être admissible à une réduction. Obligatoire 10m
scaleDownUnreadyTime (Non affiché dans la console) Durée pendant laquelle un noeud non prêt ne doit pas être nécessaire avant d'être admissible à une réduction. Obligatoire 20m
scaleDownUtilizationThreshold (Non affiché dans la console) Niveau d'utilisation du noeud, défini comme la somme des ressources demandées divisée par la capacité, en dessous de laquelle un noeud peut être pris en compte pour une réduction. Obligatoire 0.5
scanInterval scanInterval Fréquence à laquelle la grappe est réévaluée pour l'augmentation ou la réduction. Facultatif 10s
skipNodesWithCustomControllerPods (Non affiché dans la console) Si true, le composant d'ajustement automatique de grappe ne supprimera jamais les noeuds avec des pods appartenant aux contrôleurs personnalisés. Facultatif true
skipNodesWithLocalStorage (Non affiché dans la console) Si true, le composant d'ajustement automatique de grappe ne supprimera jamais les noeuds avec des pods avec un stockage local, par exemple EmptyDir ou HostPath. Facultatif true
skipNodesWithSystemPods (Non affiché dans la console) Si true, le composant d'ajustement automatique de grappe ne supprimera jamais les noeuds avec des pods du kube-system (à l'exception de DaemonSet ou des pods miroir). Facultatif true
statusConfigMapName (Non affiché dans la console) Nom du statut ConfigMap que l'autorité de certification écrit. Facultatif cluster-autoscaler-status
stderrthreshold (Non affiché dans la console) Seuil de gravité du journal, au-delà duquel les journaux sont envoyés à stderr. Par exemple, si vous réglez cette valeur à error, tous les journaux dont la gravité est supérieure à error sont envoyés à stderr. Facultatif info
unremovableNodeRecheckTimeout unremovableNodeRecheckTimeout Temporisation avant de vérifier à nouveau un noeud qui n'a pas pu être supprimé auparavant. Obligatoire 5m
v (Non affiché dans la console) Numéro de la verbosité de la journalisation. Facultatif 0
writeStatusConfigmap (Non affiché dans la console) L'autorité de certification doit écrire les informations de statut dans un fichier de configuration. Facultatif true