Un modo per migliorare le prestazioni delle applicazioni basate su container consiste nell'aumentare le risorse del cluster aggiungendo nodi o risorse, come CPU o memoria, ai nodi. Questo approccio, tuttavia, può diventare costoso. L'ottimizzazione dei nodi del cluster per migliorare le prestazioni consente di ottimizzare l'utilizzo delle risorse per i carichi di lavoro in modo conveniente. Questo documento descrive come utilizzare l'operatore di ottimizzazione delle prestazioni per ottimizzare i nodi worker al fine di ottimizzare le prestazioni dei carichi di lavoro per GKE su Bare Metal.
Per ottenere il massimo dall'hardware e dal software sottostanti, diversi tipi di applicazioni, in particolare quelle ad alte prestazioni, traggono vantaggio dall'ottimizzazione delle impostazioni dei nodi come riportato di seguito:
- CPU dedicate per carichi di lavoro sensibili alle prestazioni
- CPU riservate per daemon e servizi Kubernetes standard
- Aumento delle dimensioni delle pagine della memoria con 1 GiB (gibibyte) o 2 MiB (mebibyte)
- Distribuzione del carico di lavoro basata sull'architettura di sistema, ad esempio processori multi-core e NUMA
Con l'operatore di ottimizzazione delle prestazioni, puoi configurare le impostazioni delle prestazioni a livello di nodo creando risorse personalizzate Kubernetes che applicano configurazioni delle prestazioni. Ecco i vantaggi:
Un'unica interfaccia di configurazione unificata: con l'operatore di ottimizzazione delle prestazioni, aggiorni uno o più manifest
PerformanceTuningProfile
che possono essere applicati ai nodi worker con i selettori dei nodi. Non è necessario configurare ogni nodo singolarmente con più impostazioni di configurazione e criteri. Questo approccio consente di gestire le configurazioni a livello di nodo e container in un unico modo unificato.Persistenza e affidabilità: hai inoltre tutta l'affidabilità offerta da Kubernetes con la sua architettura ad alta disponibilità. Puoi aggiornare le risorse personalizzate di
PerformanceTuningProfile
in qualsiasi momento e le relative impostazioni vengono mantenute nelle operazioni principali dei cluster, come gli upgrade.
L'operatore di ottimizzazione delle prestazioni lavora orchestrando i seguenti strumenti e funzionalità di Kubernetes e del sistema operativo (OS) correlate alle prestazioni:
Per evitare conflitti, quando utilizzi l'operatore di ottimizzazione delle prestazioni, ti consigliamo di non utilizzare gli strumenti e le funzionalità di Kubernetes e del sistema operativo menzionati in precedenza in modo indipendente.
Prerequisiti e limitazioni
Di seguito sono riportati i prerequisiti e le limitazioni per l'utilizzo dell'operatore di ottimizzazione delle prestazioni:
Solo Red Hat Enterprise Linux (RHEL): l'operatore di ottimizzazione delle prestazioni è supportato solo per i nodi che eseguono versioni supportate di RHEL.
Cluster ibrido o utente con nodi worker: l'operatore di ottimizzazione delle prestazioni è supportato per l'utilizzo con i nodi worker solo in cluster utente o ibridi. L'uso dell'operatore di ottimizzazione delle prestazioni per ottimizzare i nodi del piano di controllo non è supportato. L'operatore di ottimizzazione delle prestazioni usa un selettore di nodi per determinare come applicare i profili di ottimizzazione. Per garantire che i profili di ottimizzazione vengano applicati solo ai nodi worker, il
nodeSelector
in ogni risorsa personalizzata del profilo deve includere l'etichetta del nodo worker standardnode-role.kubernetes.io/worker: ""
. SenodeSelector
in un profilo di ottimizzazione corrisponde alle etichette su un nodo del piano di controllo, tale nodo non viene ottimizzato e viene impostata una condizione di errore. Per ulteriori informazioni sulle condizioni di errore, consulta Verificare lo stato. Assicurati che il cluster funzioni correttamente prima di installare l'operatore di ottimizzazione delle prestazioni e applicare i profili di ottimizzazione.TuneD 2.22.0: l'operatore di ottimizzazione delle prestazioni richiede l'installazione di TuneD 2.22.0 nei nodi worker che intendi ottimizzare. Per ulteriori informazioni su TuneD, incluse le istruzioni di installazione, consulta la guida introduttiva a TuneD nella documentazione di Red Hat Enterprise Linux. L'operatore di ottimizzazione delle prestazioni utilizza Ottimizzato con il profilo
cpu-partitioning
. Se non hai questo profilo, puoi installarlo con il seguente comando:dnf install -y tuned-profiles-cpu-partitioning
Requisiti delle risorse per il carico di lavoro: per ottenere il massimo dall'ottimizzazione delle prestazioni, devi conoscere i requisiti di memoria e CPU (richieste e limiti delle risorse) per i tuoi carichi di lavoro.
Risorse dei nodi disponibili: trova le risorse di CPU e memoria per i tuoi nodi. Puoi ottenere informazioni dettagliate su CPU e memoria per il tuo nodo rispettivamente nei file
/proc/cpuinfo
e/proc/meminfo
. Puoi anche utilizzarekubectl get nodes
per recuperare la quantità di risorse di calcolo e memoria (status.allocatable
) di un nodo worker disponibili per i pod.Richiede lo svuotamento: nell'ambito del processo di ottimizzazione, l'operatore di ottimizzazione delle prestazioni prima svuota i nodi, quindi applica un profilo di ottimizzazione. Di conseguenza, i nodi potrebbero segnalare uno stato
NotReady
durante l'ottimizzazione delle prestazioni. Ti consigliamo di utilizzare la strategia di aggiornamento in sequenza (spec.updateStrategy.type: rolling
) anziché un aggiornamento in batch per ridurre al minimo la disponibilità dei carichi di lavoro.Richiede il riavvio: affinché le modifiche all'ottimizzazione dei nodi abbiano effetto, l'operatore di ottimizzazione delle prestazioni riavvia il nodo dopo aver applicato il profilo di ottimizzazione.
Installa operatore di ottimizzazione delle prestazioni
L'operatore di ottimizzazione delle prestazioni è costituito principalmente da due controller (un Deployment e un DaemonSet) che interagiscono tra loro per ottimizzare i nodi in base alle impostazioni del profilo.
L'operatore di ottimizzazione delle prestazioni non è installato con GKE su Bare Metal per impostazione predefinita. Scarica i manifest degli operatori di ottimizzazione delle prestazioni da Cloud Storage e utilizza kubectl apply
per creare risorse dell'operatore di ottimizzazione delle prestazioni nel cluster.
Per abilitare l'ottimizzazione delle prestazioni con valori predefiniti per il cluster:
Crea una directory
performance-tuning
sulla workstation di amministrazione.Dalla directory
performance-tuning
, scarica il pacchetto Operator Tuning delle prestazioni più recente dal bucket di rilascio Cloud Storage:gsutil cp -r gs://anthos-baremetal-release/node-performance-tuning/0.1.0-gke.47 .
I file scaricati includono manifest per il deployment
performance-tuning-operator
e il DaemonSetnodeconfig-controller-manager
. Sono inclusi anche manifest per le funzioni correlate, come controllo dell'accesso basato sui ruoli (RBAC) e il controllo dinamico di ammissione.In qualità di utente root, applica in modo ricorsivo tutti i manifest degli operatori di ottimizzazione delle prestazioni al cluster utente (o ibrido):
kubectl apply -f performance-tuning --recursive –-kubeconfig USER_KUBECONFIG
Una volta creati e eseguiti il deployment e il DaemonSet, la tua unica interazione consiste nel modificare e applicare i manifest
PerformanceTuningProfile
.
Esamina i requisiti delle risorse per i tuoi carichi di lavoro
Prima di poter ottimizzare i nodi, devi comprendere i requisiti delle risorse di computing e memoria dei tuoi carichi di lavoro. Se i nodi worker dispongono di risorse sufficienti, i nodi possono essere ottimizzati per fornire memoria garantita (standard e pagine giganti) per i carichi di lavoro nella classe garantita di qualità del servizio (QoS).
Kubernetes assegna classi QoS a ciascuno dei tuoi pod in base ai vincoli delle risorse che hai specificato per i container associati. Kubernetes utilizza quindi le classi QoS per determinare come pianificare pod e container e allocare le risorse ai tuoi carichi di lavoro. Per sfruttare al massimo l'ottimizzazione dei nodi per i tuoi carichi di lavoro, questi devono avere impostazioni di limiti o richieste di risorse di CPU o memoria.
Per ricevere una classe QoS garantita, i pod devono soddisfare i seguenti requisiti:
- Per ogni container nel pod:
- Specifica i valori sia per le richieste di risorse di memoria (
spec.containers[].resources.requests.memory
) che per i limiti (spec.containers[].resources.limits.memory
). - Il valore dei limiti di memoria deve corrispondere al valore delle richieste di memoria.
- Specifica i valori sia per le richieste di risorse della CPU
(
spec.containers[].resources.requests.cpu
) che per i limiti (spec.containers[].resources.limits.cpu
). - Il valore dei limiti di CPU deve corrispondere al valore delle richieste di CPU.
- Specifica i valori sia per le richieste di risorse di memoria (
Il seguente estratto della specifica del pod mostra le impostazioni delle risorse della CPU che soddisfano i requisiti garantiti della classe QoS:
spec:
containers:
- name: sample-app
image: images.my-company.example/app:v4
resources:
requests:
memory: "128Mi"
cpu: "2"
limits:
memory: "128Mi"
cpu: "2"
...
Quando recuperi i dettagli del pod con kubectl get pods
, la sezione status
deve includere la classe QoS assegnata, come mostrato nell'esempio seguente:
apiVersion: v1
kind: Pod
metadata:
creationTimestamp: "2023-09-22T21:05:23Z"
generateName: my-deployment-6fdd69987d-
labels:
app: metrics
department: sales
pod-template-hash: 6fdd69987d
name: my-deployment-6fdd69987d-7kv42
namespace: default
...
spec:
containers:
...
status:
conditions:
- lastProbeTime: null
lastTransitionTime: "2023-09-22T21:05:23Z"
status: "True"
type: Initialized
...
qosClass: BestEffort
startTime: "2023-09-22T21:05:23Z"
Per ulteriori informazioni sulle classi QoS, consulta Qualità dei pod delle classi di servizio nella documentazione di Kubernetes. Per istruzioni su come configurare pod e container in modo che venga loro assegnata una classe QoS, consulta Configurare la qualità del servizio per i pod
Requisiti della CPU
Durante l'ottimizzazione di un nodo, puoi specificare un set di core CPU riservati
(spec.cpu.reservedCPUs
) per l'esecuzione dei daemon di sistema Kubernetes come kubelet
e runtime del container. Questo stesso insieme di CPU riservate esegue anche daemon del sistema operativo, come sshd
e udev
. I restanti core della CPU sono allocati come isolati. Le CPU isolate sono destinate alle applicazioni legate alla CPU, che richiedono tempo di CPU dedicato senza interferenze da parte di altre applicazioni o interruzioni della rete o di altri dispositivi.
Per pianificare un pod sulle CPU isolate di un nodo worker:
Configura il pod per garantire una qualità del servizio (QoS) garantita.
I requisiti e i limiti di CPU devono essere specificati in numeri interi. Se specifichi risorse parziali della CPU nella specifica del pod, ad esempio
cpu: 0.5
ocpu: 250m
(250 millicore), la pianificazione non può essere garantita.
Requisiti di memoria
Durante l'ottimizzazione di un nodo con l'operatore di ottimizzazione delle prestazioni, puoi creare pagine enormi e associarle ai nodi di accesso alla memoria non uniforme (NUMA) sulla macchina. In base alle impostazioni dei pod e dei nodi, i pod possono essere pianificati con un'affinità di nodi NUMA.
Crea un profilo di ottimizzazione delle prestazioni
Dopo aver installato l'operatore di ottimizzazione delle prestazioni, interagisci solo con il cluster che esegue i carichi di lavoro. Puoi creare PerformanceTuningProfile
risorse personalizzate direttamente nel cluster utente o nel cluster ibrido, non nel cluster di amministrazione. Ogni risorsa PerformanceTuningProfile
contiene un insieme di parametri che specifica la configurazione delle prestazioni applicata a un nodo.
Il valore nodeSelector
nella risorsa determina i nodi
a cui viene applicato il profilo di ottimizzazione. Per applicare un profilo a un nodo, devi posizionare
l'etichetta della coppia chiave-valore corrispondente sul nodo. Un profilo di ottimizzazione viene applicato ai nodi che hanno tutte le etichette specificate nel campo nodeSelector
.
Puoi creare più risorse PerformanceTuningProfile
in un cluster. Se più di un profilo corrisponde a un determinato nodo, viene impostata una condizione di errore in status
della risorsa personalizzata PerformanceTuningProfile
. Per scoprire di più sulla sezione status
, consulta la sezione Verificare lo stato.
Imposta lo spazio dei nomi per la tua risorsa personalizzata PerformanceTuningProfile
su
kube-system
.
Per ottimizzare uno o più nodi worker:
Modifica il manifest
PerformanceTuningProfile
.Per informazioni su ogni campo nel manifest e su un manifest di esempio, consulta il riferimento delle risorse
PerformanceTuningProfile
.(Facoltativo) Per i nodi worker a cui stai applicando un profilo, aggiungi etichette che corrispondano alla coppia chiave-valore
spec.nodeSelector
.Se non viene specificata alcuna coppia chiave-valore
spec.nodeSelector
nella risorsa personalizzataPerformanceTuningProfile
, il profilo viene applicato a tutti i nodi worker.Applica il manifest al tuo cluster.
kubectl apply -f PROFILE_MANIFEST --kubeconfig KUBECONFIG
Sostituisci quanto segue:
PROFILE_MANIFEST
: il percorso del file manifest per la risorsa personalizzataPerformanceTuningProfile
.KUBECONFIG
: il percorso del file kubeconfig del cluster.
Rimuovi un profilo di ottimizzazione
Per ripristinare lo stato originale non ottimizzato di un nodo:
Elimina la risorsa personalizzata
PerformanceTuningProfile
dal cluster.Aggiorna o rimuovi le etichette sul nodo in modo che non venga selezionato nuovamente dal profilo di ottimizzazione.
Se disponi di più profili di ottimizzazione associati al nodo, ripeti i passaggi precedenti, in base alle necessità.
Mettere in pausa un profilo di ottimizzazione
Se devi eseguire la manutenzione del cluster, puoi mettere in pausa temporaneamente l'ottimizzazione modificando la risorsa personalizzata PerformanceTuningProfile
. Ti consigliamo di mettere in pausa l'ottimizzazione prima di eseguire operazioni critiche del cluster, ad esempio l'upgrade di un cluster.
L'esito negativo dell'applicazione del profilo è un altro caso in cui potresti mettere in pausa l'ottimizzazione. Se il processo di ottimizzazione non va a buon fine, il controller potrebbe continuare a tentare di ottimizzare il nodo, il che potrebbe comportare il riavvio continuo del nodo. Se noti che lo stato del nodo passa dallo stato Pronto e Non pronto, metti in pausa l'ottimizzazione per ripristinare lo stato non funzionante.
Per mettere in pausa l'ottimizzazione:
Modifica il manifest della risorsa personalizzata
PerformanceTuningProfile
per impostarespec.paused
sutrue
.Utilizza
kubectl apply
per aggiornare la risorsa.
Quando l'ottimizzazione delle prestazioni è in pausa, il controller dell'operatore di ottimizzazione delle prestazioni arresta tutte le operazioni. La messa in pausa impedisce il rischio che le operazioni del controller dell'operatore per l'ottimizzazione delle prestazioni siano in conflitto con le operazioni del controller GKE su Bare Metal.
Riferimento risorsa PerformanceTuningProfile
Questa sezione descrive ciascuno dei campi della risorsa personalizzata PerformanceTuningProfile
. Questa risorsa viene utilizzata per creare un profilo di ottimizzazione per uno o più nodi del cluster. Tutti i campi della risorsa sono modificabili dopo la creazione del profilo. I profili devono trovarsi nello spazio dei nomi kube-system
.
Il seguente manifest del profilo di esempio numa
per i nodi con 8 core della CPU
specifica le seguenti allocazioni delle risorse:
4 core CPU (
0-3
) sono riservati all'overhead di sistema Kubernetes.4 core della CPU (
4-7
) vengono accantonati solo per i carichi di lavoro.Per impostazione predefinita, la memoria dei nodi è suddivisa in pagine da 2 MiB anziché nelle pagine standard da 4 KiB.
10 pagine di memoria con dimensioni di 1 GiB vengono messe da parte per essere utilizzate dal nodo NUMA 0.
5 pagine di memoria di 2 MiB vengono messe da parte per essere utilizzate dal nodo 1 di NUMA.
Topology Manager utilizza il criterio Best effort per la pianificazione dei carichi di lavoro.
apiVersion: anthos.gke.io/v1alpha1
kind: PerformanceTuningProfile
metadata:
name: numa
namespace: kube-system
spec:
cpu:
isolatedCPUs: 4-7
reservedCPUs: 0-3
defaultHugepagesSize: 2M
nodeSelector:
app: database
node-role.kubernetes.io/worker: ""
pages:
- count: 10
numaNode: 0
size: 1G
- count: 5
numaNode: 1
size: 2M
topologyManagerPolicy: best-effort
Puoi recuperare la definizione della risorsa personalizzata PerformanceTuningProfile
correlata dal gruppo anthos.gke.io
nel tuo cluster. La definizione della risorsa personalizzata viene installata dopo aver aggiunto l'annotazione della funzionalità di anteprima alla risorsa cluster autogestita.
Configurazione della CPU
Proprietà | Descrizione |
---|---|
cpu.reservedCPUs |
Obbligatorio. Modificabile. Stringa. Questo campo definisce un set di core CPU da
prenotare per i daemon di sistema Kubernetes, come kubelet, runtime
del container e rilevatore dei problemi dei nodi. Questi core della CPU vengono utilizzati anche per i daemon del sistema operativo (OS), come sshd e
udev .
Il campo |
cpu.isolatedCPUs |
Facoltativo. Modificabile. Stringa. Il campo cpu.isolatedCPUs definisce un insieme di CPU utilizzate esclusivamente per le applicazioni sensibili alle prestazioni. CPU Manager pianifica i container solo sulle CPU non prenotate, secondo le classi QoS di Kubernetes.
Per garantire che i carichi di lavoro vengano eseguiti sulle CPU isolate, configura i pod con la classe QoS garantita e assegna una risorsa CPU al pod o al container.
Per la pianificazione dei pod garantita, devi specificare unità di CPU interi, non
risorse CPU parziali (cpu: "0.5" ).
apiVersion: v1 kind: Pod ... spec: containers: ... resources: limits: cpu: "1" requests: cpu: "1" ... L'ottimizzazione delle CPU isolate per i carichi di lavoro offre i migliori vantaggi in termini di prestazioni. Questo campo riporta un elenco di numeri di CPU o intervalli di numeri di CPU.
Assicurati che l'elenco di CPU non si sovrapponga all'elenco specificato con
|
cpu.balanceIsolated |
Facoltativo. Modificabile. Valore booleano. Valore predefinito: true . Questo campo
specifica se il set di CPU isolate è idoneo o meno per il bilanciamento
automatico del carico dei carichi di lavoro tra le CPU. Se imposti questo campo su false , i carichi di lavoro devono assegnare esplicitamente ogni thread a una CPU specifica per distribuire il carico tra le CPU. Con assegnazioni esplicite di CPU, ottieni le prestazioni più prevedibili per i carichi di lavoro garantiti, ma aggiunge complessità ai carichi di lavoro. |
cpu.globallyEnableIRQLoadBalancing |
Obbligatorio. Modificabile. Valore booleano. Valore predefinito: true . Questo campo
specifica se abilitare o meno il bilanciamento del carico delle richieste di interruzioni (IRQ)
per il set di CPU isolato. |
Configurazione della memoria
Proprietà | Descrizione |
---|---|
defaultHugePageSize |
Facoltativo. Modificabile. Enumerazione: 1G o 2M .
Questo campo definisce la dimensione gigante predefinita dei parametri di avvio del kernel.
Le pagine enormi vengono allocate al momento dell'avvio, prima che la memoria si frammenta.
È importante notare che l'impostazione della dimensione predefinita di largepages su 1G rimuove tutti i 2 milioni di cartelle correlate dal nodo. Un'enorme dimensione predefinita di 1 G impedisce di configurare 2 milioni di pagine enormi nel nodo.
|
pages |
Facoltativo. Modificabile. Numero intero. Questo campo specifica il numero di pagine enormi da creare al momento dell'avvio. Questo campo accetta un array di pagine. Controlla la memoria disponibile per i nodi prima di specificare le pagine giganti. Non richiedere un numero maggiore di pagine del necessario e non riservare tutta la memoria per pagine di grandi dimensioni. I carichi di lavoro richiedono anche memoria standard. |
Selezione dei nodi
Proprietà | Descrizione |
---|---|
nodeSelector |
Obbligatorio. Modificabile. Questo campo richiede sempre l'etichetta del nodo worker Kubernetes, node-role.kubernetes.io/worker:"" , per garantire che l'ottimizzazione delle prestazioni venga eseguita solo sui nodi worker. Questo campo accetta un'etichetta nodo facoltativa come coppia chiave-valore. Le etichette delle coppie chiave-valore vengono utilizzate per selezionare nodi worker specifici con etichette corrispondenti. Quando le etichette
nodeSelector corrispondono alle etichette su un nodo worker, il
profilo delle prestazioni viene applicato a questo nodo. Se non specifichi un'etichetta chiave-valore nel tuo profilo, questa viene applicata a tutti i nodi worker nel cluster.
Ad esempio, ... spec: nodeSelector: app: database node-role.kubernetes.io/worker: "" ... |
Configurazione kubelet
Proprietà | Descrizione |
---|---|
topologyManagerPolicy |
Facoltativo. Modificabile. Enumerazione: none , best-effort ,
restricted o single-numa-node . Valore predefinito: best-effort .
Questo campo specifica il criterio di Topology Manager di Kubernetes utilizzato per allocare le risorse per i carichi di lavoro, in base alla classe di qualità del servizio (QoS) assegnata. Per maggiori informazioni su come vengono assegnate le classi QoS, consulta Configurare la qualità del servizio per i pod.
|
Operazioni profilo
Proprietà | Descrizione |
---|---|
paused |
Facoltativo. Modificabile. Valore booleano. Imposta paused su
true per impedire temporaneamente ai controller DaemonSet di
ottimizzare i nodi selezionati. |
updateStrategy |
Facoltativo. Modificabile. Specifica la strategia per applicare le modifiche alla configurazione dell'ottimizzazione ai nodi selezionati. |
updateStrategy.rollingUpdateMaxUnavailalble |
Facoltativo. Modificabile. Numero intero. Valore predefinito: 1 . Specifica il numero massimo di nodi che possono essere ottimizzati contemporaneamente. Questo campo si applica solo quando type è impostato su rolling . |
updateStrategy.type |
Facoltativo. Modificabile. Enumerazione: batch o rolling .
Valore predefinito: rolling . Specifica come applicare gli aggiornamenti del profilo ai nodi selezionati. Se vuoi applicare contemporaneamente l'aggiornamento a tutti i nodi selezionati, imposta type su batch . Per impostazione predefinita, gli aggiornamenti vengono implementati in sequenza, uno dopo l'altro, sui singoli nodi. |
Verifica lo stato
Dopo aver creato o aggiornato la risorsa personalizzata PerformanceTuningProfile
, un controller regola i nodi selezionati in base alla configurazione fornita nella risorsa. Per controllare lo stato di PerformanceTuningProfile
, è disponibile il seguente campo in Status
:
Proprietà | Descrizione |
---|---|
conditions |
La condizione rappresenta le ultime osservazioni disponibili sullo stato attuale della risorsa del profilo. |
conditions.lastTransitionTime |
Sempre restituito. Stringa (in formato data-ora). L'ultima volta che la condizione è passata da uno stato a un altro. Questo orario di solito indica quando è cambiata la condizione di base. Se l'ora non è nota, l'ora indica quando è stato modificato il campo dell'API. |
conditions.message |
Facoltativo. Stringa. Un messaggio leggibile che indica i dettagli della transizione. Questo campo potrebbe essere vuoto. |
conditions.observedGeneration |
Facoltativo. Numero intero. Se impostato, questo campo rappresenta il metadata.generation
su cui è stata impostata la condizione. Ad esempio, se metadata.generation è 12 , ma status.condition[x].observedGeneration è 9 , la condizione relativa allo stato attuale dell'istanza non è aggiornata. |
conditions.reason |
Obbligatorio. Stringa. Il motivo dell'ultima transizione della condizione. |
conditions.status |
Obbligatorio. Stato della condizione: True , False o
Unknown . |
conditions.type |
Obbligatorio. Il tipo è il tipo di condizione: Stalled o
Reconciling . |
readyNodes |
Il numero di nodi a cui il profilo di ottimizzazione è stato applicato correttamente. |
reconcilingNodes |
Il numero di nodi selezionati (o selezionati in precedenza) che sono in fase di riconciliazione con il profilo di ottimizzazione più recente da parte del DaemonSet nodeconfig-controller-manager . |
selectedNodes |
Il numero di note selezionate. ovvero il numero di nodi che corrispondono al selettore dei nodi per questa risorsa personalizzata PerformanceTuningProfile . |