Ottimizza le prestazioni dei nodi

Un modo per migliorare le prestazioni delle applicazioni basate su container è aumentare di risorse del cluster aggiungendo nodi o risorse, come CPU o memoria, dai nodi. Tuttavia, questo approccio può diventare costoso. Ottimizzazione del cluster I nodi per migliorare le prestazioni ti aiutano a ottimizzare l'utilizzo delle risorse per il tuo carichi di lavoro in modo conveniente. Questo documento descrive come utilizzare l'operatore di ottimizzazione delle prestazioni per ottimizzare i nodi worker per ottimizzare le prestazioni dei carichi di lavoro per Google Distributed Cloud.

Per ottenere il massimo dall'hardware e dal software sottostanti, diversi tipi di applicazioni, in particolare quelle ad alte prestazioni, traggono vantaggio dalla regolazione delle impostazioni dei nodi, ad esempio:

  • CPU dedicate per carichi di lavoro sensibili alle prestazioni
  • CPU riservate per i daemon e i servizi Kubernetes standard
  • Dimensioni delle pagine di memoria aumentate con pagine enormi di 1 GiB (gibibyte) o 2 MiB (mebibyte)
  • Distribuzione del carico di lavoro basata sull'architettura del sistema, ad esempio multi-core processori e NUMA

Con l'operatore di ottimizzazione delle prestazioni, puoi configurare le impostazioni delle prestazioni a livello di nodo creando Risorse personalizzate di Kubernetes che applicano configurazioni delle prestazioni. Ecco i vantaggi:

  • Singola interfaccia di configurazione unificata: con l'operatore di ottimizzazione delle prestazioni, aggiorni uno o Altri manifest PerformanceTuningProfile applicabili ai nodi worker con i selettori dei nodi. Non è necessario configurare ogni nodo singolarmente con più impostazioni di configurazione e di criterio. Questo approccio ti consente di gestire le configurazioni a livello di nodo e di contenitore in un unico modo unificato.

  • Persistenza e affidabilità: puoi anche usufruire di tutta l'affidabilità offerta da Kubernetes con la sua architettura ad alta disponibilità. PerformanceTuningProfile risorse personalizzate possono essere aggiornate in qualsiasi momento e le relative impostazioni rimangono in vigore nelle principali operazioni del cluster, upgrade.

L'operatore di ottimizzazione delle prestazioni opera orchestrando i seguenti elementi Kubernetes funzionalità e strumenti del sistema operativo:

Per evitare conflitti, quando utilizzi l'operatore di ottimizzazione delle prestazioni, ti consigliamo di non usare gli strumenti e le funzionalità di Kubernetes e del sistema operativo menzionati in modo indipendente.

Prerequisiti e limitazioni

Ecco 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 per i nodi che eseguono versioni supportate di RHEL.

  • Cluster utente o ibrido con nodi worker: l'operatore di ottimizzazione delle prestazioni è supportato solo per l'utilizzo con i nodi worker in cluster utente o ibridi. L'utilizzo dell'operatore di ottimizzazione del rendimento per ottimizzare i nodi del control plane non è supportato. L'operatore di ottimizzazione delle prestazioni usa un selettore di nodi per determinano come applicare i profili di ottimizzazione. Per assicurarti che i profili di ottimizzazione vengano applicati solo ai nodi worker, nodeSelector in ogni risorsa personalizzata del profilo deve includere l'etichetta del nodo worker standardnode-role.kubernetes.io/worker: "". Se nodeSelector in un profilo di ottimizzazione corrisponde alle etichette su un nodo del piano di controllo, il nodo non è ottimizzato e viene impostata una condizione di errore. Per ulteriori informazioni sull'errore Condizioni, consulta la sezione Verificare lo stato. Assicurati che il cluster funzioni correttamente prima di installare Performance Tuning Operator e applicare i profili di ottimizzazione.

  • TuneD 2.22.0: l'operatore di ottimizzazione delle prestazioni richiede la preinstallazione di TuneD versione 2.22.0 nei nodi worker che intendi ottimizzare. Per ulteriori informazioni su TuneD, incluse le istruzioni per l'installazione, consulta la guida introduttiva all'utilizzo di TuneD nella documentazione di Red Hat Enterprise Linux. L'operatore di ottimizzazione delle prestazioni utilizza TuneD con il profilo cpu-partitioning. Se non hai questo profilo, puoi installare con il seguente comando:

    dnf install -y tuned-profiles-cpu-partitioning
    
  • Requisiti delle risorse dei carichi di lavoro: per ottenere il massimo dalla regolazione delle prestazioni, devi avere una buona conoscenza dei requisiti di memoria e CPU (richieste e limiti delle risorse) per i tuoi carichi di lavoro.

  • Risorse nodo disponibili:trova le risorse di CPU e memoria per il tuo nodi. Puoi ottenere informazioni dettagliate sulla CPU e sulla memoria del tuo nodo rispettivamente nei file /proc/cpuinfo e /proc/meminfo. Puoi anche utilizzare kubectl get nodes per recuperare la quantità di risorse di calcolo e memoria (status.allocatable) di un nodo worker disponibili per i pod.

  • Richiede svuotamento: nell'ambito del processo di ottimizzazione, l'operatore di ottimizzazione delle prestazioni svuota prima lo svuotamento 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 strategia di aggiornamento in sequenza (spec.updateStrategy.type: rolling) anziché una un aggiornamento batch per ridurre al minimo l'indisponibilità dei carichi di lavoro.

  • Richiede il riavvio: per applicare le modifiche di ottimizzazione dei nodi, è necessario l'operatore di ottimizzazione delle prestazioni riavvia il nodo dopo aver applicato il profilo di ottimizzazione.

Installa l'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. Per impostazione predefinita, Performance Tuning Operator non è installato con Google Distributed Cloud. Esegui il download il manifest dell'operatore di ottimizzazione delle prestazioni da Cloud Storage e utilizzi kubectl apply per risorse dell'operatore di ottimizzazione delle prestazioni sul tuo cluster.

Per attivare l'ottimizzazione del rendimento con i valori predefiniti per il cluster:

  1. Crea una directory performance-tuning sulla workstation di amministrazione.

  2. Scarica il pacchetto più recente dell'operatore di ottimizzazione delle prestazioni dalla directory performance-tuning dal bucket di rilascio Cloud Storage:

    gcloud storage cp gs://anthos-baremetal-release/node-performance-tuning/0.1.0-gke.47 . --recursive
    

    I file scaricati includono manifest per performance-tuning-operator Deployment e il DaemonSet nodeconfig-controller-manager. Manifest per funzioni correlate, come controllo dell'accesso basato sui ruoli (RBAC, Role-Based Access Control) e controllo di ammissione dinamico.

  3. Come utente root, applica in modo ricorsivo tutti i manifest dell'operatore di ottimizzazione del rendimento al tuo cluster utente (o ibrido):

    kubectl apply -f performance-tuning --recursive –-kubeconfig USER_KUBECONFIG
    

    Una volta creati ed eseguiti il Deployment e il DaemonSet, 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 di risorse di calcolo e memoria dei tuoi carichi di lavoro. Se i nodi worker dispongono di risorse sufficienti, possono essere ottimizzati per fornire memoria garantita (standard e hugepages) per i carichi di lavoro nel livello di qualità del servizio (QoS) garantito.

Kubernetes assegna le classi QoS a ciascun pod in base ai vincoli delle risorse specificati per i container associati. Kubernetes utilizza quindi le classi QoS per determinare come pianificare i pod e i contenitori e allocare le risorse ai carichi di lavoro. Per sfruttare appieno Ottimizzazione dei nodi per i carichi di lavoro, che devono avere una risorsa di CPU o memoria delle richieste o dei limiti.

Per ricevere una classe di QoS garantita, i pod devono soddisfare i seguenti requisiti requisiti:

  • Per ogni container nel pod:
    • Specifica i valori per entrambe le richieste di risorse di memoria (spec.containers[].resources.requests.memory) e limiti (spec.containers[].resources.limits.memory).
    • Il valore dei limiti di memoria deve essere uguale al valore delle richieste di memoria.
    • Specifica i valori sia per le richieste di risorse CPU (spec.containers[].resources.requests.cpu) sia per i limiti (spec.containers[].resources.limits.cpu).
    • Il valore dei limiti della CPU deve essere uguale al valore delle richieste di CPU.

Il seguente estratto delle specifiche dei pod mostra le impostazioni delle risorse CPU che soddisfano i requisiti requisiti della classe QoS garantita:

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 Classi di qualità del servizio dei pod nella documentazione di Kubernetes. Per istruzioni su come configurare i pod e i contenitori in modo che venga assegnato loro un'opzione di QoS, consulta Configurare la qualità del servizio per i pod.

Requisiti CPU

Quando esegui la messa a punto di un nodo, puoi specificare un insieme di core della CPU riservati (spec.cpu.reservedCPUs) per l'esecuzione di demoni di sistema Kubernetes come kubelet e il runtime del contenitore. Lo stesso insieme di CPU riservate esegue anche i daemon del sistema operativo, come sshd e udev. Il resto dei core della CPU viene allocato come isolato. Le CPU isolate sono destinate alle applicazioni dipendenti dalla CPU, che richiedono tempo CPU dedicato senza interferenze da altre applicazioni o interruzioni dalla rete o da altri dispositivi.

Per pianificare un pod sulle CPU isolate di un nodo worker:

  • Configura il pod per una qualità del servizio (QoS) garantita.

  • I requisiti e i limiti di CPU devono essere specificati in numeri interi. Se risorse CPU parziali nella specifica del pod, ad esempio cpu: 0.5 cpu: 250m (250 millicore), la pianificazione non è garantita.

Requisiti di memoria

Quando esegui la messa a punto di un nodo con l'operatore di ottimizzazione delle prestazioni, puoi creare pagine enormi e associarle ai nodi NUMA (accesso alla memoria non uniforme) della macchina. In base alle impostazioni di pod e nodi, i pod possono essere pianificati con affinità dei nodi NUMA.

Creare un profilo di ottimizzazione del rendimento

Dopo aver installato Performance Tuning Operator, interagisci solo con il cluster che esegue i tuoi carichi di lavoro. Puoi creare risorse personalizzate PerformanceTuningProfile direttamente sul tuo cluster utente o cluster ibrido, non sul cluster di amministrazione. Ogni risorsa PerformanceTuningProfile contiene un insieme di parametri che specifica la configurazione delle prestazioni applicata a un nodo.

Il parametro nodeSelector nella risorsa determina i nodi da a cui viene applicato il profilo di ottimizzazione. Per applicare un profilo a un nodo, posiziona sul nodo l'etichetta della coppia chiave-valore corrispondente. Un profilo di ottimizzazione viene applicato nodi con 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 nel status della risorsa personalizzata PerformanceTuningProfile. Per ulteriori informazioni sulla sezione status, consulta Controllare lo stato.

Imposta lo spazio dei nomi per la risorsa personalizzata PerformanceTuningProfile su kube-system.

Per ottimizzare uno o più nodi worker:

  1. Modifica il file manifest PerformanceTuningProfile.

    Per informazioni su ciascun campo del manifest e su un manifest di esempio, consulta il riferimento alla risorsa PerformanceTuningProfile.

  2. (Facoltativo) Per i nodi worker a cui stai applicando un profilo, aggiungi che corrispondano alla coppia chiave-valore spec.nodeSelector.

    Se non viene specificata alcuna coppia chiave-valore spec.nodeSelector nel PerformanceTuningProfile risorsa personalizzata, il profilo viene applicato a tutte nodi worker.

  3. Applica il manifest al cluster.

    kubectl apply -f PROFILE_MANIFEST --kubeconfig KUBECONFIG
    

    Sostituisci quanto segue:

    • PROFILE_MANIFEST: il percorso del file manifest per la risorsa personalizzata PerformanceTuningProfile.
    • KUBECONFIG: il percorso del file kubeconfig del cluster.

Rimuovere un profilo di ottimizzazione

Per reimpostare un nodo allo stato originale non sintonizzato:

  1. Elimina la risorsa personalizzata PerformanceTuningProfile dal cluster.

  2. Aggiorna o rimuovi le etichette sul nodo in modo che non venga selezionato dal di ottimizzazione del profilo di ottimizzazione.

Se hai più profili di ottimizzazione associati al nodo, ripeti la procedura passaggi precedenti, se necessario.

Mettere in pausa un profilo di ottimizzazione

Se devi eseguire la manutenzione del cluster, puoi mettere temporaneamente in pausa la regolazione modificando la risorsa personalizzata PerformanceTuningProfile. Ti consigliamo di mettere in pausa l'ottimizzazione prima di eseguire operazioni critiche del cluster, ad esempio un upgrade del cluster.

Un altro caso in cui potresti mettere in pausa la regolazione è l'applicazione non riuscita del profilo. Se il processo di ottimizzazione non va a buon fine, il controller potrebbe continuare a tentare ottimizzare il nodo, che potrebbe causare il riavvio continuo del nodo. Se lo stato del nodo passa dallo stato di pronto a quello di non pronto, metti in pausa la regolazione in modo da poter recuperare dallo stato non funzionante.

Per mettere in pausa la sintonizzazione:

  1. Modifica il manifest della risorsa personalizzata PerformanceTuningProfile da impostare spec.paused a true.

  2. Utilizza kubectl apply per aggiornare la risorsa.

Quando l'ottimizzazione del rendimento è in pausa, il controller dell'operatore di ottimizzazione del rendimento interrompe tutte le sue operazioni. La messa in pausa impedisce il rischio delle operazioni del controller dell'operatore di ottimizzazione delle prestazioni in conflitto con qualsiasi operazione del controller Google Distributed Cloud.

Riferimento risorsa PerformanceTuningProfile

Questa sezione descrive tutti i campi in PerformanceTuningProfile risorsa personalizzata. 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 creazione del profilo. I profili devono trovarsi nello spazio dei nomi kube-system.

Il seguente file manifest del profilo di esempio numa per i nodi con 8 core CPU specifica le seguenti allocazioni di risorse:

  • 4 core della CPU (0-3) sono riservati per l'overhead del sistema Kubernetes.

  • 4 core della CPU (4-7) sono riservati solo per i carichi di lavoro.

  • Per impostazione predefinita, la memoria del nodo è suddivisa in pagine da 2 MiB anziché nelle pagine standard da 4 Ki.

  • 10 pagine di memoria di dimensioni pari a 1 GiB sono riservate all'utilizzo da parte del nodo NUMA 0.

  • 5 pagine di memoria con dimensioni di 2 MiB sono riservate all'utilizzo da parte del nodo NUMA 1.

  • Topology Manager utilizza il criterio del massimo impegno 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 risorsa personalizzata viene installata dopo aver aggiunto l'annotazione della funzionalità di anteprima risorsa cluster autogestita.

Configurazione della CPU

Proprietà Descrizione
cpu.reservedCPUs Obbligatorio. Modificabile. Stringa. Questo campo definisce un insieme di core della CPU da riservare per i demoni di sistema Kubernetes, come kubelet, il runtime del contenitore e il rilevatore di problemi del nodo. Questi core della CPU sono usati anche daemon di sistema operativo del sistema operativo, come sshd e udev.

Il campo cpu.reservedCPUs accetta un elenco di numeri di CPU oppure intervalli di numeri di CPU. Assicurati che l'elenco delle CPU non si sovrapponga all'elenco specificato con cpu.isolatedCPUs. L'unione delle CPU elencate in questi due campi deve includere tutte le CPU del nodo.

cpu.isolatedCPUs Facoltativo. Modificabile. Stringa. Il campo cpu.isolatedCPUs definisce un insieme di CPU utilizzate esclusivamente per prestazioni sensibili diverse applicazioni. CPU Manager pianifica i container solo sulle CPU non riservate, in base alle classi di qualità del servizio (QoS) di Kubernetes. Per assicurarti 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 contenitore. Per la pianificazione dei pod garantita, devi specificare unità CPU intere, non di risorse CPU parziali (cpu: "0.5").
apiVersion: v1
kind: Pod
...
spec:
  containers:
  ...
    resources:
      limits:
        cpu: "1"
      requests:
        cpu: "1"
  ...

Massimizzare le CPU isolate per i carichi di lavoro offre il miglior vantaggio in termini di prestazioni. Questo campo richiede un elenco di numeri di CPU o intervalli di numeri di CPU. Assicurati che l'elenco di CPU non si sovrapponga a quello specificato con cpu.reservedCPUs e che l'unione degli elenchi in questi due campi includa tutte le CPU per il nodo.

cpu.balanceIsolated Facoltativo. Modificabile. Valore booleano. Valore predefinito: true. Questo campo specifica se l'insieme di CPU isolate è idoneo per il bilanciamento automatico del carico dei carichi di lavoro sulle CPU. Quando imposti questo campo su false, i carichi di lavoro devono assegnare esplicitamente ogni thread a una CPU specifica per distribuire il carico sulle CPU. Con CPU esplicita assegnate, si ottiene il rendimento più prevedibile per ma aggiunge più 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 interruzione (IRQ) per il set di CPU isolata.

Configurazione memoria

Proprietà Descrizione
defaultHugePageSize Facoltativo. Modificabile. Enumerazione: 1G o 2M. Questo campo definisce la dimensione predefinita delle pagine enormi nei parametri di avvio del kernel. Le grandi pagine vengono allocate al momento dell'avvio, prima che la memoria diventi frammentata. È importante notare che l'impostazione della dimensione predefinita delle pagine enormi su 1 G rimuove dal nodo tutte le cartelle correlate da 2 M. Una dimensione predefinita delle pagine enormi di 1 G impedisce di configurare pagine enormi di 2 M 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 tuoi nodi prima di specificare hugepages. Non richiedere più pagine enormi del necessario e non riservano tutta la memoria a pagine molto grandi, . Anche i carichi di lavoro hanno bisogno di 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:"", che garantisce che l'ottimizzazione delle prestazioni venga eseguita solo sui nodi worker. Questo campo accetta un valore come coppia chiave-valore. Le etichette delle coppie chiave-valore vengono utilizzate per selezionare nodi worker specifici con etichette corrispondenti. Quando nodeSelector di etichette corrispondono a etichette su un nodo worker, il profilo del rendimento viene applicato a quel nodo. Se non specifichi un'etichetta coppia chiave-valore nel tuo profilo, viene applicata a tutti i nodi worker nel in un cluster Kubernetes.

Ad esempio, il seguente valore nodeSelector specifica che il profilo di ottimizzazione viene applicato solo ai nodi worker con corrispondenza app: database etichette:

...
spec:
  nodeSelector:
    app: database
    node-role.kubernetes.io/worker: ""
  ...

Configurazione di Kubelet

Proprietà Descrizione
topologyManagerPolicy Facoltativo. Modificabile. Enumerazione: none, best-effort, restricted o single-numa-node. Valore predefinito: best-effort. Questo campo specifica il regolamento 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 ulteriori informazioni su come vengono assegnate le classi QoS, consulta Configurare la qualità del servizio per i pod.

Operazioni sul 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 di configurazione del tuning ai nodi selezionati.
updateStrategy.rollingUpdateMaxUnavailalble Facoltativo. Modificabile. Numero intero. Valore predefinito: 1. Specifica il parametro 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 l'aggiornamento a tutti i nodi selezionati contemporaneamente, imposta type su batch. Per impostazione predefinita, gli aggiornamenti vengono implementati in sequenza nei singoli nodi, uno dopo l'altro.

Verifica lo stato

Dopo aver creato o aggiornato la risorsa personalizzata PerformanceTuningProfile, viene il controller modula i nodi selezionati in base alla configurazione fornita risorsa. Per controllare lo stato dell'evento PerformanceTuningProfile, stiamo il seguente campo in Status:

Proprietà Descrizione
conditions La condizione rappresenta le ultime osservazioni disponibili dello stato attuale della risorsa del profilo.
conditions.lastTransitionTime Sempre restituito. Stringa (in formato data/ora). Ultima volta che la condizione è passata da uno stato all'altro. In genere, questa data indica quando è cambiata la condizione di base. Se questa data e ora non sono note, la data e l'ora indicate indicano 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 valore metadata.generation in base al quale è stata impostata la condizione. Ad esempio, se metadata.generation è 12, ma status.condition[x].observedGeneration è 9, la condizione non è aggiornata rispetto allo stato corrente dell'istanza.
conditions.reason Obbligatorio. Stringa. Il motivo dell'ultima transizione della condizione.
conditions.status Obbligatorio. Stato della condizione: True, False oppure Unknown.
conditions.type Obbligatorio. "Tipo" è il tipo di condizione: Stalled o Reconciling.
readyNodes Il numero di nodi a cui è stato correttamente inviato il profilo di ottimizzazione applicati.
reconcilingNodes Il numero di nodi selezionati (o selezionati in precedenza) in fase di riconciliazione con l'ultimo profilo di ottimizzazione da parte del DaemonSet nodeconfig-controller-manager.
selectedNodes Il numero di note selezionate. cioè il numero nodi che corrispondono al selettore di nodi per questo PerformanceTuningProfile risorsa personalizzata.

Passaggi successivi