Partager via


Informations de référence sur l’API Vertical Pod Autoscaler

Cet article fournit les informations de référence d’API de la fonctionnalité de mise à l’échelle automatique verticale de pod d’Azure Kubernetes Service.

Ces informations de référence sont basée sur la version 0.13.0 de l’implémentation AKS de VPA.

VerticalPodAutoscaler

Nom Object Description
métadonnées ObjectMeta Métadonnées d’objet standard.
spec VerticalPodAutoscalerSpec Comportement souhaité de l’utilitaire de mise à l’échelle automatique verticale de pod.
statut VerticalPodAutoscalerStatus Dernier état observé de l’utilitaire de mise à l’échelle automatique verticale de pod.

VerticalPodAutoscalerSpec

Nom Object Description
targetRef CrossVersionObjectReference Référence au contrôleur qui gère l’ensemble de pods que doit contrôler l’utilitaire de mise à l’échelle automatique. Par exemple, un déploiement ou un StatefulSet. Vous pouvez faire pointer un utilitaire de mise à l’échelle automatique verticale de pod sur n’importe quel contrôleur qui a une sous-ressource Scale. En règle générale, l’utilitaire de mise à l’échelle automatique verticale de pod récupère l’ensemble de pods à partir du ScaleStatus du contrôleur.
updatePolicy PodUpdatePolicy Spécifie si les mises à jour recommandées sont appliquées quand un pod est démarré et pendant la durée de vie d’un pod.
resourcePolicy PodResourcePolicy Spécifie des stratégies pour indiquer comment les demandes de processeur et de mémoire sont ajustées pour les conteneurs individuels. La stratégie de ressource peut être utilisée pour définir des contraintes sur les recommandations des conteneurs individuels. Si non spécifié, l’utilitaire de mise à l’échelle automatique calcule les ressources recommandées pour tous les conteneurs du pod, sans contraintes supplémentaires.
recommenders VerticalPodAutoscalerRecommenderSelector L’élément recommender est chargé de généré la recommandation pour l’objet VPA. Laissez le champ vide pour utiliser l’élément recommender par défaut. Sinon, la liste peut contenir exactement une entrée pour un autre élément recommender fourni par l’utilisateur.

VerticalPodAutoscalerList

Nom Object Description
métadonnées ObjectMeta Métadonnées d’objet standard.
items VerticalPodAutoscaler (tableau) Liste d’objets Vertical Pod Autoscaler.

PodUpdatePolicy

Nom Object Description
updateMode string Chaîne qui spécifie si les mises à jour recommandées sont appliquées quand un pod est démarré et pendant la durée de vie d’un pod. Les valeurs possibles sont Off, Initial, Recreate et Auto. La valeur par défaut est Auto si vous ne spécifiez pas de valeur.
minReplicas int32 Valeur représentant le nombre minimal de réplicas qui doivent être actifs pour que l’utilitaire de mise à jour tente l’éviction du pod (en attente d’autres vérifications comme le budget d’interruption de pod). Seules les valeurs positives sont autorisées. La valeur par défaut est l’indicateur --min-replicas global, qui est défini sur 2.

PodResourcePolicy

Nom Object Description
conainerPolicies ContainerResourcePolicy Tableau de stratégies de ressource pour des conteneurs individuels. Il peut y avoir au maximum une entrée pour chaque conteneur nommé, et éventuellement une seule entrée générique avec containerName = '*', qui gère tous les conteneurs qui n’ont pas de stratégies individuelles.

ContainerResourcePolicy

Nom Object Description
containerName string Chaîne qui spécifie le nom du conteneur auquel la stratégie s’applique. Si non spécifiée, la stratégie sert de stratégie par défaut.
mode ContainerScalingMode Spécifie si les mises à jour recommandées sont appliquées au conteneur quand il est démarré et pendant la durée de vie du conteneur. Les valeurs possibles sont Off et Auto. La valeur par défaut est Auto si vous ne spécifiez pas de valeur.
minAllowed ResourceList Spécifie les demandes minimales de processeur et de mémoire autorisées pour le conteneur. Par défaut, aucun minimum n’est appliqué.
maxAllowed ResourceList Spécifie les demandes maximales de processeur et de mémoire autorisées pour le conteneur. Par défaut, aucun maximum n’est appliqué.
ControlledResources []ResourceName Spécifie le type de recommandations qui sont calculées (et éventuellement appliquées) par l’utilitaire de mise à l’échelle automatique verticale de pod. Si vide, la valeur par défaut de [ResourceCPU, ResourceMemory] est utilisée.

VerticalPodAutoscalerRecommenderSelector

Nom Object Description
name chaîne Chaîne qui spécifie le nom de l’élément recommender chargé de généré la recommandation pour cet objet.

VerticalPodAutoscalerStatus

Nom Object Description
recommandation RecommendedPodResources Dernières demandes de processeur et de mémoire recommandées.
conditions VerticalPodAutoscalerCondition Tableau qui décrit l’état actuel de l’utilitaire de mise à l’échelle automatique verticale de pod.

RecommendedPodResources

Nom Object Description
containerRecommendation RecommendedContainerResources Tableau de recommandations de ressource pour des conteneurs individuels.

RecommendedContainerResources

Nom Object Description
containerName string Chaîne qui spécifie le nom du conteneur auquel la recommandation s’applique.
cible ResourceList Demandes de processeur et de mémoire recommandées pour le conteneur.
lowerBound ResourceList Demandes minimales de processeur et de mémoire recommandées pour le conteneur. Cette quantité n’est pas forcément suffisante pour que l’application soit stable. L’exécution avec des demandes de processeur et de mémoire plus petites est susceptible d’avoir un impact significatif sur les performances ou la disponibilité.
upperBound ResourceList Demandes maximales de processeur et de mémoire recommandées pour le conteneur. Un nombre de demandes de processeur et de mémoire supérieur à ces valeurs est susceptible d’être gaspillé.
uncappedTarget ResourceList Dernière recommandation de ressource calculée par l’utilitaire de mise à l’échelle automatique, en fonction de l’utilisation réelle des ressources, sans tenir compte de la stratégie de ressource du conteneur. Si l’utilisation réelle des ressources oblige la cible à aller à l’encontre de la stratégie de ressource du conteneur, cela peut être différent de la recommandation limitée. Ce champ n’affecte pas l’attribution réelle des ressources. Il est utilisé uniquement pour indiquer l’état.

VerticalPodAutoscalerCondition

Nom Object Description
type VerticalPodAutoscalerConditionType Type de condition décrit. Les valeurs possibles sont RecommendationProvided, LowConfidence, NoPodsMatched et FetchingHistory.
statut ConditionStatus État de la condition. Les valeurs possibles sont True, False et Unknown.
lastTransitionTime Temps Dernière fois que la condition est passée d’un état à l’autre.
reason string Raison du dernier passage d’un état à l’autre.
message string Chaîne lisible par l’homme qui fournit des détails sur le dernier passage d’un état à l’autre.

Étapes suivantes

Consultez Utilitaire de mise à l’échelle automatique verticale de pod pour comprendre comment améliorer l’utilisation des ressources de cluster, et libérer du processeur et de la mémoire pour les autres pods.