Condividi tramite


Informazioni di riferimento sulle API di scalabilità automatica verticale dei pod

Questo articolo fornisce informazioni di riferimento sulle API per la funzionalità di scalabilità automatica verticale dei pod del servizio Azure Kubernetes.

Questa guida si basa sulla versione 0.13.0 dell'implementazione di VPA per il servizio Azure Kubernetes.

VerticalPodAutoscaler

Nome Oggetto Descrizione
metadata ObjectMeta Metadati dell'oggetto standard.
spec VerticalPodAutoscalerSpec Comportamento desiderato della Scalabilità automatica verticale dei pod.
stato VerticalPodAutoscalerStatus Lo stato di scalabilità automatica verticale dei pod osservato più recentemente.

VerticalPodAutoscalerSpec

Nome Oggetto Descrizione
targetRef CrossVersionObjectReference Riferimento al controller che gestisce il set di pod controllati dal ridimensionamento automatico. Ad esempio, una distribuzione o un oggetto StatefulSet. È possibile puntare una Scalabilità automatica verticale dei pod in qualsiasi controller con una sottorisorsa Scalabilità. In genere, l'utilità di scalabilità automatica verticale dei pod recupera il set di pod dallo ScaleStatus del controller.
updatePolicy PodUpdatePolicy Specifica se gli aggiornamenti consigliati vengono applicati all'avvio di un pod e se vengono applicati durante la durata di un pod.
resourcePolicy PodResourcePolicy Specifica i criteri per il modo in cui le richieste di CPU e memoria vengono modificate per i singoli contenitori. I criteri delle risorse possono essere usati per impostare vincoli sulle raccomandazioni per singoli contenitori. Se non specificato, il ridimensionamento automatico calcola le risorse consigliate per tutti i contenitori nel pod, senza vincoli aggiuntivi.
recommender VerticalPodAutoscalerRecommenderSelector Il recommender è responsabile della generazione di raccomandazioni per l'oggetto VPA. Lasciare vuoto per usare il recommender predefinito. In caso contrario, l'elenco può contenere esattamente una voce per un recommender alternativo fornito dall'utente.

VerticalPodAutoscalerList

Nome Oggetto Descrizione
metadata ObjectMeta Metadati dell'oggetto standard.
articoli VerticalPodAutoscaler (matrice) Elenco di oggetti di scalabilità automatica verticale dei pod.

PodUpdatePolicy

Nome Oggetto Descrizione
updateMode string Stringa che specifica se gli aggiornamenti consigliati vengono applicati all'avvio di un pod e se vengono applicati durante la durata di un pod. I valori consentiti sono Off, Initial, Recreate e Auto. Se non specificato, il valore predefinito è Auto.
minReplicas int32 Valore che rappresenta il numero minimo di repliche che devono essere attive affinché l’Updater tenti la rimozione dei pod (con altri controlli in sospeso, come il Budget interruzione pod). Sono consentiti solo valori positivi. Per impostazione predefinita, il flag globale --min-replicas è impostato su 2.

PodResourcePolicy

Nome Oggetto Descrizione
conainerPolicies ContainerResourcePolicy Matrice di criteri di risorse per singoli contenitori. Può essere presente al massimo una voce per ogni contenitore denominato e, facoltativamente, una singola voce con caratteri jolly con containerName = '*' che gestisce tutti i contenitori che non dispongono di singoli criteri.

ContainerResourcePolicy

Nome Oggetto Descrizione
containerName string Stringa che specifica il nome del contenitore a cui si applicano i criteri. Se non specificato, il criterio funge da criterio predefinito.
mode ContainerScalingMode Specifica se gli aggiornamenti consigliati vengono applicati all'avvio di un contenitore e se vengono applicati durante la durata del contenitore. I valori possibili sono Off e Auto. Se non specificato, il valore predefinito è Auto.
minAllowed ResourceList Specifica la richiesta di CPU e la richiesta di memoria minime consentite per il contenitore. Per impostazione predefinita, non è applicato alcun valore minimo.
maxAllowed ResourceList Specifica la richiesta di CPU e la richiesta di memoria massime consentite per il contenitore. Per impostazione predefinita, non è applicato alcun valore massimo.
ControlledResources []ResourceName Specifica il tipo di raccomandazioni calcolate (ed eventualmente applicate) dalla scalabilità automatica verticale dei pod. Se vuoto, viene usato il valore predefinito [ResourceCPU, ResourceMemory].

VerticalPodAutoscalerRecommenderSelector

Nome Oggetto Descrizione
name string Stringa che specifica il nome del recommender responsabile della generazione di raccomandazioni per questo oggetto.

VerticalPodAutoscalerStatus

Nome Oggetto Descrizione
suggerimento RecommendedPodResources Le richieste di CPU e memoria consigliate più di recente.
conditions VerticalPodAutoscalerCondition Matrice che descrive lo stato corrente della scalabilità automatica verticale dei pod.

RecommendedPodResources

Nome Oggetto Descrizione
containerRecommendation RecommendedContainerResources Matrice di raccomandazioni relative alle risorse per singoli contenitori.

RecommendedContainerResources

Nome Oggetto Descrizione
containerName string Stringa che specifica il nome del contenitore a cui si applica la raccomandazione.
bersaglio ResourceList Richiesta CPU e richiesta di memoria consigliate per il contenitore.
lowerBound ResourceList Richiesta di CPU e richiesta di memoria minime consigliate per il contenitore. Non è garantito che questo importo sia sufficiente affinché l'applicazione sia stabile. L'esecuzione con richieste di CPU e memoria minori potrebbe avere un impatto significativo sulle prestazioni o sulla disponibilità.
upperBound ResourceList Richiesta CPU e richiesta di memoria massime consigliate per il contenitore. È probabile che richieste di CPU e memoria superiori a questi valori vadano sprecate.
uncappedTarget ResourceList La raccomandazione di risorse più recente calcolata dalla scalabilità automatica in base all'utilizzo effettivo delle risorse, non tenendo conto dei criteri delle risorse del contenitore. Se l'utilizzo effettivo delle risorse causa una violazione dei criteri di risorsa del contenitore da parte della destinazione, questa potrebbe essere diversa dalla raccomandazione associata. Questo campo non influisce sull'assegnazione effettiva delle risorse. Viene usato esclusivamente come indicazione di stato.

VerticalPodAutoscalerCondition

Nome Oggetto Descrizione
type VerticalPodAutoscalerConditionType Tipo di condizione descritta. I valori consentiti sono RecommendationProvided, LowConfidence, NoPodsMatched e FetchingHistory.
stato ConditionStatus Stato della condizione. I valori possibili sono True, False e Unknown.
lastTransitionTime Ora L’ultima volta che la condizione ha eseguito una transizione da uno stato a un altro.
reason string Motivo dell'ultima transizione da uno stato a un altro.
messaggio string Stringa leggibile che fornisce informazioni dettagliate sull'ultima transizione da uno stato a un altro.

Passaggi successivi

Per comprendere come migliorare l'utilizzo delle risorse del cluster e liberare CPU e memoria per altri pod, consultare Scalabilità automatica verticale dei pod.