Informazioni di riferimento sulle API di scalabilità automatica verticale dei pod
Articolo
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.
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.
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.
Collabora con noi su GitHub
L'origine di questo contenuto è disponibile in GitHub, in cui è anche possibile creare ed esaminare i problemi e le richieste pull. Per ulteriori informazioni, vedere la guida per i collaboratori.