Cluster Autoscaler
Quando si abilita il componente aggiuntivo Cluster Autoscaler, è possibile passare come argomenti le seguenti coppie chiave/valore.
Chiave (API e CLI) | Nome visualizzato chiave (console) | Descrizione | Obbligatorio/Facoltativo | Valore predefinito | Valore di esempio |
---|---|---|---|---|---|
affinity |
affinità |
Gruppo di regole di pianificazione affinità. Formato JSON in testo normale o codificato in Base64. |
Facoltativo | nullo | nullo |
nodeSelectors |
selettori nodi |
È possibile utilizzare i selettori nodo e le etichette nodo per controllare i nodi di lavoro sui quali vengono eseguiti i pod componente aggiuntivo. Affinché un pod venga eseguito su un nodo, il selettore nodo del pod deve avere la stessa chiave/valore dell'etichetta del nodo. Impostare Formato JSON in testo normale o codificato in Base64. |
Facoltativo | nullo | {"foo":"bar", "foo2": "bar2"} Il pod verrà eseguito solo sui nodi con l'etichetta |
numOfReplicas |
numOfReplicas | Numero di repliche della distribuzione del componente aggiuntivo. Per CoreDNS, utilizzare invece |
Obbligatorio | 1 Crea una replica della distribuzione del componente aggiuntivo per cluster. |
2 Crea due repliche della distribuzione componente aggiuntivo per cluster. |
rollingUpdate |
rollingUpdate |
Controlla il funzionamento desiderato dell'aggiornamento in sequenza tramite maxSurge e maxUnavailable. Formato JSON in testo normale o codificato in Base64. |
Facoltativo | nullo | nullo |
tolerations |
tolleranze |
È possibile utilizzare le tenute e le tolleranze per controllare i nodi di lavoro sui quali vengono eseguiti i pod dei componenti aggiuntivi. Affinché un pod venga eseguito su un nodo che presenta una torsione, il pod deve avere una tolleranza corrispondente. Impostare Formato JSON in testo normale o codificato in Base64. |
Facoltativo | nullo | [{"key":"tolerationKeyFoo", "value":"tolerationValBar", "effect":"noSchedule", "operator":"exists"}] Solo i pod con questa tolleranza possono essere eseguiti sui nodi di lavoro che hanno la caratteristica |
topologySpreadConstraints |
topologySpreadConstraints |
Come diffondere pod corrispondenti tra la topologia specificata. Formato JSON in testo normale o codificato in Base64. |
Facoltativo | nullo | nullo |
Chiave (API e CLI) | Nome visualizzato chiave (console) | Descrizione | Obbligatorio/Facoltativo | Valore predefinito | Valore di esempio |
---|---|---|---|---|---|
annotations | annotazioni |
Annotazioni da passare alla distribuzione di Cluster Autoscaler. Ad esempio, Formato JSON in testo normale o codificato in Base64. |
Facoltativo | "" | |
authType | authType | Il tipo di autenticazione utilizzato da Cluster Autoscaler durante l'esecuzione delle richieste è uno dei seguenti:
|
Obbligatorio |
instance
|
|
balanceSimilarNodeGroups | balanceSimilarNodeGroups | Rileva gruppi di nodi simili e bilancia il numero di nodi tra loro. | Facoltativo |
false
|
|
balancingIgnoreLabel | balancingIgnoreLabel | Definire un'etichetta nodo che deve essere ignorata quando si considera la somiglianza del gruppo di nodi. Un'etichetta per occorrenza flag. Il formato è label1, label2 . |
Facoltativo | "" | |
balancingLabel | balancingLabel | Definire un'etichetta nodo da utilizzare durante il confronto della somiglianza del gruppo di nodi. Se impostata, tutte le altre logiche di confronto vengono disabilitate e vengono prese in considerazione solo le etichette durante il confronto dei gruppi. Un'etichetta per occorrenza flag. Il formato è label1, label2 . |
Facoltativo | "" | |
cluster-autoscaler.ContainerResources | risorse contenitore cluster-autoscaler |
È possibile specificare le quantità di risorse richieste dai container aggiuntivi e impostare i limiti di utilizzo delle risorse che i container aggiuntivi non possono superare. Formato JSON in testo normale o codificato in Base64. |
Facoltativo | nullo |
{"limits": {"cpu": "500m", "memory": "200Mi" }, "requests": {"cpu": "100m", "memory": "100Mi"}}
Crea container aggiuntivi che richiedono 100 millilitri di CPU e 100 mebibyte di memoria. Limita i contenitori aggiuntivi a 500 milllicires di CPU e 200 mebibyte di memoria. |
cordonNodeBeforeTerminating | (Non visualizzato nella console) | Indica se i nodi dei cavi CA devono essere terminati durante il processo di downscale. | Facoltativo |
false
|
|
coresTotal | (Non visualizzato nella console) | Numero minimo e massimo di memorie centrali nel cluster, nel formato <min>:<max> . Cluster autoscaler non ridimensionerà il cluster oltre questi numeri. |
Facoltativo |
0:320000
|
|
daemonsetEvictionForEmptyNodes | (Non visualizzato nella console) | Indica se i pod DaemonSet verranno terminati in modo esteso dai nodi vuoti. | Facoltativo |
false
|
|
daemonsetEvictionForOccupiedNodes | (Non visualizzato nella console) | Indica se i pod DaemonSet verranno terminati in modo esteso da nodi non vuoti. | Facoltativo |
true
|
|
debuggingSnapshotEnabled | (Non visualizzato nella console) | Indica se lo snapshot di debug della funzione di ridimensionamento automatico del cluster è abilitato. | Facoltativo |
false
|
|
emitPerNodegroupMetrics | (Non visualizzato nella console) | Se true, emetti le metriche per gruppo di nodi. | Facoltativo |
false
|
|
enforceNodeGroupMinSize | (Non visualizzato nella console) | Se necessario, CA deve eseguire lo scale up del gruppo di nodi alla dimensione minima configurata. | Facoltativo |
false
|
|
estimator | (Non visualizzato nella console) | Tipo di stimatore risorse da utilizzare per lo scale up. | Facoltativo |
binpacking
|
|
expander | espandi | Tipo di espansione del gruppo di nodi da utilizzare nello scale up. Si noti che |
Facoltativo |
random
|
|
expendablePodsPriorityCutoff | (Non visualizzato nella console) | I pod con priorità inferiore al limite saranno spendibili. Possono essere uccisi senza alcuna considerazione durante lo scale down e non causano lo scale up. I pod con priorità nulla (PodPriority disabilitato) non sono eseguibili. | Facoltativo |
-10
|
|
ignoreDaemonsetsUtilization | (Non visualizzato nella console) | Indica se i pod DaemonSet verranno ignorati durante il calcolo dell'utilizzo delle risorse per il ridimensionamento. | Facoltativo |
false
|
|
ignoreMirrorPodsUtilization | (Non visualizzato nella console) | Indica se i pod mirror verranno ignorati durante il calcolo dell'utilizzo delle risorse per il ridimensionamento. | Facoltativo |
false
|
|
leaderElect | (Non visualizzato nella console) | Avviare un cliente di elezione leader e acquisire leadership prima di eseguire il ciclo principale. Abilitare questa opzione quando si eseguono componenti replicati per l'alta disponibilità. | Facoltativo |
true
|
|
leaderElectLeaseDuration | (Non visualizzato nella console) | La durata che i candidati non leader aspetteranno dopo aver osservato un rinnovo della leadership fino a quando non tenteranno di acquisire la leadership di uno slot leader guidato ma non rinnovato. Questa è effettivamente la durata massima che un leader può essere fermato prima di essere sostituito da un altro candidato. Questo è applicabile solo se l'elezione del leader è abilitata. | Facoltativo |
15s
|
|
leaderElectRenewDeadline | (Non visualizzato nella console) | Intervallo tra i tentativi da parte del cluster autoscaler attivo di rinnovare uno slot di leadership prima che smetta di guidare. La durata del leasing deve essere minore o uguale a quella del leasing. Questo è applicabile solo se l'elezione del leader è abilitata. | Facoltativo |
10s
|
|
leaderElectResourceLock | (Non visualizzato nella console) | Tipo di oggetto risorsa utilizzato per il blocco durante la selezione del leader. Le opzioni supportate sono leases (impostazione predefinita), endpoints , endpointsleases , configmaps e configmapsleases . |
Facoltativo |
leases
|
|
leaderElectRetryPeriod | (Non visualizzato nella console) | La durata di attesa dei clienti tra il tentativo di acquisizione e il rinnovo di una leadership. Questo è applicabile solo se l'elezione del leader è abilitata. | Facoltativo |
2s
|
|
maxAutoprovisionedNodeGroupCount | (Non visualizzato nella console) | Numero massimo di gruppi con provisioning automatico nel cluster. | Facoltativo |
15
|
|
maxEmptyBulkDelete | maxEmptyBulkDelete | Numero massimo di nodi vuoti che possono essere eliminati contemporaneamente. | Facoltativo |
10
|
|
maxFailingTime | (Non visualizzato nella console) | Tempo massimo dall'ultima esecuzione di autoscaler riuscita registrata prima del riavvio automatico. | Facoltativo |
15m
|
|
maxGracefulTerminationSec | (Non visualizzato nella console) | Numero massimo di secondi durante i quali l'autorità di certificazione attende l'interruzione del pod durante il tentativo di eseguire lo scale down di un nodo. | Facoltativo |
600
|
|
maxInactivity | (Non visualizzato nella console) | Tempo massimo dall'ultima attività di ridimensionamento automatico registrata prima del riavvio automatico. | Facoltativo |
10m
|
|
maxNodeProvisionTime | maxNodeProvisionTime | Tempo massimo durante il quale l'autorità di certificazione attende il provisioning del nodo. | Facoltativo |
15m
|
|
maxNodesTotal | (Non visualizzato nella console) | Numero massimo di nodi in tutti i pool di nodi. Cluster autoscaler non aumenterà il cluster oltre questo numero. | Facoltativo |
0
|
|
maxTotalUnreadyPercentage | (Non visualizzato nella console) | Percentuale massima di nodi non pronti nel cluster. Una volta superato questo limite, CA interrompe le operazioni. | Facoltativo |
45
|
|
memoryTotal | (Non visualizzato nella console) | Numero minimo e massimo di gigabyte di memoria nel cluster, nel formato <min>:<max> . Cluster autoscaler non ridimensionerà il cluster oltre questi numeri. |
Facoltativo |
0:6400000
|
|
minReplicaCount | (Non visualizzato nella console) | Numero minimo di repliche o repliche che un set di repliche o un controller di replica dovrebbe avere per consentire l'eliminazione dei pod in scale down. | Facoltativo |
0
|
|
nodes | nodi |
Lista del numero minimo di nodi, del numero massimo di nodi e dell'OCID del nodepool che deve essere gestito da Cluster Autoscaler. Il formato è Utilizzare Formato JSON in testo normale o codificato in Base64. |
Obbligatorio, se nodeGroupAutoDiscovery non è impostato |
"" | |
nodeGroupAutoDiscovery | (Non visualizzato nella console) |
Lista di coppie chiave-valore tag, numero minimo di nodi, numero massimo di nodi e OCID del compartimento in cui si trova il pool di nodi da gestire da Cluster Autoscaler. Il formato è Utilizzare Supportato con Cluster Autoscaler versione 1.30.3, versione 1.31.1, e versione 1.32.0 e successive. Formato JSON in testo normale o codificato in Base64. |
Obbligatorio, se nodes non è impostato |
||
okTotalUnreadyCount | (Non visualizzato nella console) | Numero di nodi non pronti consentiti, indipendentemente da maxTotalUnreadyPercentage . |
Facoltativo |
3
|
|
recordDuplicatedEvents | (Non visualizzato nella console) | Consente al ridimensionatore automatico di stampare gli eventi duplicati in una finestra di 5 minuti. | Facoltativo |
false
|
|
scaleDownCandidatesPoolMinCount | (Non visualizzato nella console) |
Numero minimo di nodi considerati come candidati non vuoti aggiuntivi per lo scale down quando alcuni candidati dell'iterazione precedente non sono più validi. Quando calcoliamo la dimensione del pool per i candidati aggiuntivi prendiamo.
|
Obbligatorio |
50
|
|
scaleDownCandidatesPoolRatio | (Non visualizzato nella console) | Rapporto di nodi considerati come candidati non vuoti aggiuntivi per lo scale down quando alcuni candidati dell'iterazione precedente non sono più validi. Valore inferiore significa una migliore reattività CA ma una possibile latenza di scale-down più lenta. Un valore più elevato può influire sulle prestazioni della CA con cluster di grandi dimensioni (centinaia di nodi). Imposta su 1.0 per disattivare questa euristica - CA prenderà tutti i nodi come candidati aggiuntivi. | Obbligatorio |
0.1
|
|
scaleDownDelayAfterAdd | scaleDownDelayAfterAdd | Riprende quanto tempo dopo lo scale up la valutazione dello scale down. | Obbligatorio |
10m
|
|
scaleDownDelayAfterDelete | (Non visualizzato nella console) | Quanto tempo dopo l'eliminazione del nodo che esegue lo scale down della valutazione riprende, per impostazione predefinita viene utilizzato l'intervallo di scansione. | Obbligatorio |
10s
|
|
scaleDownDelayAfterFailure | (Non visualizzato nella console) | Riprende quanto tempo dopo l'errore di scale down che comporta lo scale down della valutazione. | Obbligatorio |
3m
|
|
scaleDownEnabled | scaleDownEnabled | La CA deve ridimensionare il cluster. | Facoltativo |
true
|
|
scaleDownNonEmptyCandidatesCount | (Non visualizzato nella console) | Numero massimo di nodi non vuoti considerati in un'iterazione come candidati per lo scale down con scarico. Valore inferiore significa una migliore reattività CA ma una possibile latenza di scale-down più lenta. Un valore più elevato può influire sulle prestazioni della CA con cluster di grandi dimensioni (centinaia di nodi). Impostare su un valore non positivo per disattivare questa euristica. CA non limiterà il numero di nodi considerati. | Obbligatorio |
30
|
|
scaleDownUnneededTime | scaleDownUnneededTime | Per quanto tempo un nodo deve essere non necessario prima di essere idoneo per lo scale down. | Obbligatorio |
10m
|
|
scaleDownUnreadyTime | (Non visualizzato nella console) | Per quanto tempo un nodo non pronto deve essere non necessario prima di essere idoneo per lo scale down. | Obbligatorio |
20m
|
|
scaleDownUtilizationThreshold | (Non visualizzato nella console) | Livello di utilizzo dei nodi, definito come la somma delle risorse richieste diviso per la capacità, al di sotto del quale un nodo può essere considerato per lo scale down. | Obbligatorio |
0.5
|
|
scanInterval | scanInterval | Frequenza con cui il cluster viene rivalutato per lo scale up o lo scale down. | Facoltativo |
10s
|
|
skipNodesWithCustomControllerPods | (Non visualizzato nella console) | Se true , il ridimensionatore automatico del cluster non eliminerà mai i nodi con pod di proprietà dei controller personalizzati. |
Facoltativo |
true
|
|
skipNodesWithLocalStorage | (Non visualizzato nella console) | Se true , il cluster autoscaler non eliminerà mai i nodi con pod con storage locale, ad esempio EmptyDir o HostPath. |
Facoltativo |
true
|
|
skipNodesWithSystemPods | (Non visualizzato nella console) | Se true , il cluster autoscaler non eliminerà mai i nodi con pod dal sistema kube (ad eccezione dei pod DaemonSet o mirror).
|
Facoltativo |
true
|
|
statusConfigMapName | (Non visualizzato nella console) | Il nome dello stato ConfigMap scritto da CA. | Facoltativo |
cluster-autoscaler-status
|
|
stderrthreshold | (Non visualizzato nella console) | La soglia di severità del log, oltre la quale i log vengono inviati a stderr. Ad esempio, se si imposta questa opzione su error , tutti i log con severità superiore a error vengono inviati a stderr. |
Facoltativo |
info
|
|
unremovableNodeRecheckTimeout | unremovableNodeRecheckTimeout | Timeout prima di controllare di nuovo un nodo che non è stato possibile rimuovere prima. | Obbligatorio |
5m
|
|
v | (Non visualizzato nella console) | Numero per il dettaglio del log. | Facoltativo |
0
|
|
writeStatusConfigmap | (Non visualizzato nella console) | La CA deve scrivere le informazioni sullo stato in una mappa di configurazione. | Facoltativo |
true
|