Aggiornamento di cluster, nodi di lavoro e componenti del cluster

Esamina le seguenti sezioni per la procedura per mantenere aggiornati il tuo master cluster e i tuoi nodi di lavoro.

Aggiornamento del master

Come faccio a sapere quando aggiornare il master?
Ricevi una notifica nella console, negli annunci e nella CLI quando gli aggiornamenti sono disponibili. È inoltre possibile controllare periodicamente la pagina delle versioni supportate.
Di quante versioni rispetto all'ultima può essere in ritardo il master?
È possibile aggiornare il server API solo alla versione immediatamente successiva a quella attuale (n+1).
I miei nodi di lavoro possono utilizzare una versione più recente rispetto al master?
I nodi di lavoro non possono eseguire una versione di major.minor Kubernetes più recente rispetto a quella del master. Inoltre, i tuoi nodi di lavoro possono essere solo una versione dietro la versione master (n-1). Per prima cosa, aggiorna il tuo master all'ultima versione di Kubernetes. Poi, aggiorna i nodi di lavoro nel tuo cluster.

I nodi di lavoro possono eseguire versioni patch successive rispetto al master, ad esempio versioni patch specifiche per i nodi di lavoro per gli aggiornamenti di sicurezza.

Come vengono applicati gli aggiornamenti delle patch?
Per impostazione predefinita, gli aggiornamenti patch per il master vengono applicati automaticamente nel corso di diversi giorni, pertanto una versione della patch master potrebbe essere disponibile prima che venga applicata al tuo master. L'automazione degli aggiornamenti ignora anche i cluster che si trovano in uno stato non integro o che hanno operazioni attualmente in corso. Occasionalmente, IBM potrebbe disabilitare gli aggiornamenti automatici per uno specifico fix pack del master, ad esempio una patch che è necessaria solo se un master viene aggiornato da una versione secondaria a un'altra. In uno qualsiasi di questi casi, è possibile verificare le informazioni sulla versione disponibili all'indirizzo Red Hat OpenShift on IBM Cloud per valutare eventuali impatti e scegliere di utilizzare in tutta sicurezza il comando ibmcloud oc cluster master update autonomamente, senza attendere che venga applicato l'aggiornamento automatico.

A differenza del master, devi aggiornare i tuoi nodi di lavoro per ogni versione patch.

Cosa succede durante l'aggiornamento del master?
Il tuo master è altamente disponibile con tre pod master di replica. I pod master hanno un aggiornamento continuo, durante il quale solo un pod alla volta non è disponibile. Due istanze sono attive e in esecuzione in modo che tu possa accedere e modificare il cluster durante l'aggiornamento. I nodi di lavoro, le applicazioni e le risorse continuano ad essere in esecuzione.
Posso ripristinare la versione precedente dell'aggiornamento?
No, non è possibile ripristinare un cluster a una versione precedente una volta completato il processo di aggiornamento. Assicurati di utilizzare un cluster di test e segui le istruzioni per risolvere i problemi potenziali prima di aggiornare il tuo master di produzione.
Quale procedura devo seguire per aggiornare il master?
Il seguente diagramma illustra il processo che puoi seguire per aggiornare il tuo master.

Diagramma del processo di aggiornamento del master
Aggiornamento del diagramma del processo master Kubernetes

Passi per aggiornare il master cluster

Prima di iniziare, assicurati di avere l'Operatore oppure il ruolo di accesso alla piattaforma IAM " Amministratore ".

Gli aggiornamenti al master del cluster sono bloccati se è in corso una rotazione dei certificati dell'autorità di certificazione (CA). Attendere il completamento della rotazione prima di aggiornare il master del cluster.

Per aggiornare la versione principale o secondaria del master " Red Hat OpenShift ":

  1. Esamina le Red Hat OpenShift on IBM Cloud e apporta tutti gli aggiornamenti contrassegnati come Aggiorna prima del master.

  2. Esaminare eventuali Kubernetes avvertenze utili, come ad esempio gli avvisi di obsolescenza.

  3. Controllare i componenti aggiuntivi e i plug-in installati nel cluster per qualsiasi impatto che potrebbe essere causato dall'aggiornamento della versione del cluster.

    • Controllo dei componenti aggiuntivi

      1. Elenca i componenti aggiuntivi nel cluster.
        ibmcloud oc cluster addon ls --cluster CLUSTER
        
      2. Controlla la versione Red Hat OpenShift supportata per ogni componente aggiuntivo installato.
        ibmcloud oc addon-versions
        
      3. Se il componente aggiuntivo deve essere aggiornato per essere eseguito nella versione Red Hat OpenShift a cui vuoi aggiornare il tuo cluster, aggiorna il componente aggiuntivo.
    • Verifica dei plug-in

      1. Nel catalogoHelm, trova i plug-in che hai installato nel tuo cluster.
      2. Dal menu laterale, espandere la sezione SOURCES & TAR FILE.
      3. Scarica e apri il codice sorgente.
      4. Controllare i file README.md o RELEASENOTES.md per le versioni supportate.
      5. Se il plug-in deve essere aggiornato per essere eseguito nella versione Red Hat OpenShift a cui vuoi aggiornare il tuo cluster, aggiorna il plug-in seguendo le istruzioni del plug - in.
  4. Aggiorna il server API e i componenti master associati utilizzando la console IBM Cloud oppure eseguendo il comando CLI ibmcloud oc cluster master update .

  5. Attendi alcuni minuti, quindi conferma che l'aggiornamento è stato completato. Controlla la versione del server API nel dashboard dei cluster IBM Cloud o esegui ibmcloud oc cluster ls.

  6. Installa la versione della oc cli che corrisponde alla versione del server API Kubernetes eseguita nel master. Kubernetes non supporta versioni client di oc che differiscono di due o più versioni rispetto alla versione server (n ± 2).

Una volta completato l'aggiornamento del master, puoi aggiornare i tuoi nodi di lavoro a seconda del tipo di provider dell'infrastruttura del cluster di cui disponi.

Aggiornamento dei nodi di lavoro classici

Nota che è disponibile un aggiornamento per i tuoi nodi di lavoro in un cluster dell'infrastruttura classica. Cosa significa? Man mano che gli aggiornamenti e le patch di sicurezza vengono implementati per il server API e altri componenti master, devi assicurati che i nodi di lavoro rimangano sincronizzati. Puoi effettuare due tipi di aggiornamenti: aggiornare solo la versione patch o aggiornare la versione major.minor con la versione patch.

  • Patch: un aggiornamento patch del nodo di lavoro include delle correzioni di sicurezza. È possibile aggiornare il nodo worker classico all'ultima patch utilizzando i comandi ibmcloud oc worker reload o update. Tieni presente che il comando update aggiorna anche il nodo di lavoro alla stessa versione major.minor del master e dell'ultima versione della patch, se è disponibile anche un aggiornamento della versione major.minor.
  • Major.minor: un aggiornamento major.minor sposta la versione Kubernetes del nodo di lavoro alla stessa versione del master. Questo tipo di aggiornamento include spesso delle modifiche all'API Kubernetes o altri comportamenti per i quali devi preparare il tuo cluster. Ricorda che i tuoi nodi di lavoro possono essere solo una versione dietro la versione master (n-1). Puoi aggiornare il nodo di lavoro classico alla stessa patch utilizzando il comando ibmcloud oc worker update.

Per ulteriori informazioni, vedi Tipi di aggiornamento.

È buona norma ruotare i certificati CA ogni volta che si aggiornano i nodi worker, poiché la fase più lunga della rotazione dei certificati prevede la ricarica o la sostituzione dei nodi worker.

Cosa succede alle mie app durante un aggiornamento?
Se esegui le applicazioni come parte di una distribuzione su nodi di lavoro che hai aggiornato, le applicazioni verranno ripianificate su altri nodi di lavoro nel cluster. Questi nodi di lavoro potrebbero trovarsi in un pool di nodi di lavoro diverso oppure, se hai nodi di lavoro autonomi, le applicazioni potrebbero essere pianificate su nodi di lavoro autonomi. Per evitare un periodo di inattività per la tua applicazione, devi assicurarti di disporre di capacità sufficiente nel cluster per sostenere il carico di lavoro.
Come posso controllare il numero di nodi di lavoro che vengono disattivati contemporaneamente durante un aggiornamento o un ricaricamento?
Se tutti i tuoi nodi di lavoro devono essere attivi e in esecuzione, prendi in considerazione il ridimensionamento del tuo pool di nodi di lavoro oppure l'aggiunta di nodi di lavoro autonomi per aggiungere altri nodi di lavoro. Puoi rimuovere i nodi di lavoro aggiuntivi una volta completato l'aggiornamento.

Inoltre, è possibile creare una mappa di configurazione " Kubernetes " che specifichi il numero massimo di nodi di lavoro che possono risultare non disponibili contemporaneamente, ad esempio durante un aggiornamento. I nodi di lavoro vengono identificati dalle etichette del nodo di lavoro. Puoi utilizzare le etichette fornite da IBM oppure le etichette personalizzate che hai aggiunto al nodo di lavoro.

Le regole della mappa di Kubernetes configurazione vengono utilizzate solo per l'aggiornamento dei nodi di lavoro. Queste regole non influiscono sui ricaricamenti del nodo di lavoro, il che significa che il ricaricamento avviene immediatamente quando richiesto.

Cosa succede se decido di non definire una mappa di configurazione?
Quando la mappa di configurazione non è definita, viene utilizzato il valore predefinito. Per impostazione predefinita, durante il processo di aggiornamento può risultare indisponibile al massimo il 20% di tutti i nodi di lavoro presenti in ciascun cluster.

Prerequisiti

Prima di aggiornare i tuoi nodi di lavoro dell'infrastruttura classica, riesamina i passi prerequisiti.

Gli aggiornamenti ai nodi di lavoro possono causare tempi di inattività per applicazioni e servizi. L'immagine della macchina del nodo di lavoro viene ricreata e i dati vengono eliminati se non sono archiviati al di fuori del pod.

Aggiornamento dei nodi di lavoro classici nella CLI con una mappa di configurazione

Imposta una mappa di configurazione per eseguire un aggiornamento continuo dei tuoi nodi di lavoro classici.

  1. Completa i passi prerequisiti.

  2. Elenca i nodi di lavoro e prendi nota del loro indirizzo IP privato.

    ibmcloud oc worker ls --cluster CLUSTER
    
  3. Visualizza le etichette di un nodo di lavoro. Puoi trovare le etichette del nodo di lavoro nella sezione Labels del tuo output della CLI. Ogni etichetta è formata da un NodeSelectorKey e da un NodeSelectorValue.

    oc describe node PRIVATE-WORKER-IP
    

    Output di esempio

    NAME:               10.184.58.3
    Roles:              <none>
    Labels:             arch=amd64
                    beta.kubernetes.io/arch=amd64
                    beta.kubernetes.io/os=linux
                    failure-domain.beta.kubernetes.io/region=us-south
                    failure-domain.beta.kubernetes.io/zone=dal12
                    ibm-cloud.kubernetes.io/encrypted-docker-data=true
                    ibm-cloud.kubernetes.io/iaas-provider=softlayer
                    ibm-cloud.kubernetes.io/machine-type=u3c.2x4.encrypted
                    kubernetes.io/hostname=10.123.45.3
                    privateVLAN=2299001
                    publicVLAN=2299012
    Annotations:        node.alpha.kubernetes.io/ttl=0
                    volumes.kubernetes.io/controller-managed-attach-detach=true
    CreationTimestamp:  Tue, 03 Apr 2022 15:26:17 -0400
    Taints:             <none>
    Unschedulable:      false
    
  4. Crea una mappa di configurazione e definisci le regole di non disponibilità per i tuoi nodi di lavoro. Il seguente esempio mostra quattro controlli, zonecheck.json, regioncheck.json, defaultcheck.json e un template di controllo. È possibile utilizzare questi controlli di esempio per definire regole per i nodi di lavoro in una zona specifica (zonecheck.json), in una regione (regioncheck.json) o per tutti i nodi di lavoro che non soddisfano nessuno dei controlli definiti nella mappa di configurazione (defaultcheck.json). Utilizzare il modello di controllo per creare un controllo personalizzato. Per ogni controllo, per identificare un nodo di lavoro, devi scegliere una delle etichette del nodo di lavoro che hai richiamato nel passo precedente.

    Per ogni controllo, è possibile impostare un solo valore per NodeSelectorKey e NodeSelectorValue. Se vuoi impostare le regole per più di una regione, zona o altre etichette del nodo di lavoro, crea un nuovo controllo. È possibile definire fino a 15 controlli in una mappa di configurazione. Se aggiungi ulteriori controlli, solo un nodo di lavoro viene ricaricato alla volta finché non vengono aggiornati tutti i nodi di lavoro richiesti.

    Esempio

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: ibm-cluster-update-configuration
      namespace: kube-system
    data:
      drain_timeout_seconds: "120"
      zonecheck.json: |
        {
          "MaxUnavailablePercentage": 30,
          "NodeSelectorKey": "failure-domain.beta.kubernetes.io/zone",
          "NodeSelectorValue": "dal13"
        }
      regioncheck.json: |
        {
          "MaxUnavailablePercentage": 20,
          "NodeSelectorKey": "failure-domain.beta.kubernetes.io/region",
          "NodeSelectorValue": "us-south"
        }
      defaultcheck.json: |
        {
          "MaxUnavailablePercentage": 20
        }
      <check_name>: |
        {
          "MaxUnavailablePercentage": <value_in_percentage>,
          "NodeSelectorKey": "<node_selector_key>",
          "NodeSelectorValue": "<node_selector_value>"
        }
    
    drain_timeout_seconds
    Facoltativo: il timeout, espresso in secondi, da attendere affinché il drenaggio venga completato. Lo svuotamento in sicurezza di un nodo di lavoro rimuove tutti i pod esistenti dal nodo di lavoro e ripianifica i pod su altri nodi di lavoro nel cluster. I valori accettati sono numeri interi compresi tra 1 e 180. Il valore predefinito è 30.
    zonecheck.json e regioncheck.json
    Due caselle di controllo che definiscono una regola per un insieme di nodi di lavoro identificabili tramite gli indirizzi NodeSelectorKey e NodeSelectorValue specificati. L' zonecheck.json e identifica i nodi di lavoro in base alla loro etichetta di zona, mentre l' regioncheck.json e utilizza l'etichetta di regione aggiunta a ciascun nodo di lavoro durante il provisioning. Nell'esempio, il 30% di tutti i nodi di lavoro con etichetta di zona " dal13 " e il 20% di tutti i nodi di lavoro presenti in " us-south " potrebbero risultare non disponibili durante l'aggiornamento.
    defaultcheck.json
    Se non si crea una mappa di configurazione o se questa è configurata in modo errato, viene applicata l'impostazione predefinita di Kubernetes. Per impostazione predefinita, solo il 20% dei nodi di lavoro del cluster può essere non disponibile alla volta. Puoi sovrascrivere il valore predefinito aggiungendo il controllo predefinito alla tua mappa di configurazione. Nell'esempio, ogni nodo di lavoro che non sia specificato nei controlli relativi alla zona e alla regione (dal13 o us-south) potrebbe risultare non disponibile durante l'aggiornamento.
    MaxUnavailablePercentage
    Il numero massimo di nodi che possono essere non disponibili per un valore e una chiave etichetta specificati, espresso come percentuale. Un nodo di lavoro è non disponibile durante il processo di distribuzione, ricaricamento o provisioning. I nodi di lavoro in coda sono bloccati dall'essere aggiornati se superano le percentuali di non disponibilità massime definite.
    NodeSelectorKey
    La chiave di etichetta del nodo di lavoro per il quale vuoi impostare una regola. Puoi impostare regole per le etichette predefinite fornite da IBM, così come per le etichette del nodo di lavoro che hai creato. Se desideri aggiungere una regola per i nodi di lavoro appartenenti a un determinato pool di lavoro, puoi utilizzare l'etichetta " ibm-cloud.kubernetes.io/machine-type ".
    NodeSelectorValue
    Il valore dell'etichetta che deve essere tenuto in considerazione dal nodo di lavoro per la regola che hai definito.
  5. Crea la mappa di configurazione nel tuo cluster.

    oc apply -f <filepath/configmap.yaml>
    
  6. Verifica che la mappa di configurazione sia stata creata.

    oc get configmap --namespace kube-system
    
  7. Aggiorna i nodi di lavoro.

    ibmcloud oc worker update --cluster CLUSTER --worker WORKER-NODE-1-ID --worker WORKER-NODE-2-ID
    
  8. Facoltativo: verifica gli eventi che vengono attivati dalla mappa di configurazione e tutti gli errori di convalida che si verificano. Gli eventi possono essere esaminati nella sezione Events dell'output della tua CLI.

    oc describe -n kube-system cm ibm-cluster-update-configuration
    
  9. Conferma che l'aggiornamento è stato completato controllando la versione Kubernetes dei tuoi nodi di lavoro.

    oc get nodes
    
  10. Verifica di non avere nodi di lavoro duplicati. A volte, nei cluster più datati potrebbero essere presenti nodi di lavoro duplicati con uno NotReady stato dopo un aggiornamento. Per rimuovere i duplicati, consulta risoluzione dei problemi.

Passi successivi:

  • Ripeti il processo di aggiornamento con gli altri pool di nodi di lavoro.
  • Avvisa gli sviluppatori che lavorano nel cluster di aggiornare la loro CLI oc alla versione del master Kubernetes.
  • Se il dashboard Kubernetes non visualizza i grafici di utilizzo, elimina il pod kube-dashboard.

Aggiornamento dei nodi di lavoro classici nella console

Dopo aver configurato la mappa di configurazione per la prima volta, puoi poi aggiornare i nodi di lavoro utilizzando la console IBM Cloud.

Per aggiornare i nodi di lavoro dalla console:

  1. Completa i passi prerequisiti e imposta una mappa di configurazione per controllare come vengono aggiornati i tuoi nodi di lavoro.
  2. Dal menu della console IBM Cloud Icona Menu, fare clic su Contenitori > Cluster.
  3. Dalla pagina Cluster, fai clic sul tuo cluster.
  4. Dalla scheda Nodi di lavoro, seleziona la casella di spunta per ciascun nodo di lavoro che desideri aggiornare. Viene visualizzata una barra delle azioni sulla riga dell'intestazione della tabella.
  5. Dalla barra delle azioni, fai clic su Aggiorna.

Se hai installato Portworx nel tuo cluster, devi riavviare i pod Portworx sui nodi di lavoro aggiornati. Per ulteriori informazioni, vedi Limitazioni diPortworx.

Aggiornamento dei nodi di lavoro VPC

Noti che è disponibile un aggiornamento per i tuoi nodi di lavoro in un cluster VPC. Cosa significa? Man mano che gli aggiornamenti e le patch di sicurezza vengono implementati per il server API e altri componenti master, devi assicurati che i nodi di lavoro rimangano sincronizzati. Puoi effettuare due tipi di aggiornamenti: aggiornare solo la versione patch o aggiornare la versione major.minor con la versione patch.

Se hai Portworx distribuito nel tuo cluster, segui i passaggi per aggiornare i nodi worker VPC con Portworx volumi.

È buona norma ruotare i certificati CA ogni volta che si aggiornano i nodi worker, poiché la fase più lunga della rotazione dei certificati prevede la ricarica o la sostituzione dei nodi worker.

Se hai OpenShift Data Foundation distribuito nel tuo cluster, segui i passaggi per aggiornare i nodi worker VPC con OpenShift Data Foundation.

  • Patch: un aggiornamento patch del nodo di lavoro include delle correzioni di sicurezza. Per chi lavora con macchine bare metal su VPC, è possibile applicare l'ultima patch utilizzando il comando ibmcloud oc worker reload . Per i worker delle istanze di server virtuali VPC, utilizzare il comando ibmcloud oc worker replace .
  • Major.minor: un aggiornamento major.minor sposta la versione Kubernetes del nodo di lavoro alla stessa versione del master. Questo tipo di aggiornamento include spesso delle modifiche all'API Kubernetes o altri comportamenti per i quali devi preparare il tuo cluster. Ricorda che i tuoi nodi di lavoro possono essere solo una versione dietro la versione master (n-1). Puoi aggiornare il nodo di lavoro VPC alla stessa patch utilizzando il comando ibmcloud oc worker replace con l'opzione --update.
Cosa succede alle mie app durante un aggiornamento?
Se esegui le applicazioni come parte di una distribuzione su nodi di lavoro che hai aggiornato, le applicazioni verranno ripianificate su altri nodi di lavoro nel cluster. Questi nodi di lavoro potrebbero trovarsi in un pool di nodi di lavoro diverso. Per evitare tempi di inattività della tua app, devi assicurarti che il cluster disponga di capacità sufficiente per gestire il carico di lavoro, ad esempio ridimensionando i pool di worker. Per ulteriori informazioni, vedi Aggiunta di nodi di lavoro ai cluster Classic o Aggiunta di nodi di lavoro ai cluster VPC.
Cosa succede al mio nodo di lavoro durante un aggiornamento?
Il nodo di lavoro del VPC viene sostituito rimuovendo il vecchio nodo di lavoro e configurandone uno nuovo che esegue la patch aggiornata o la versione major.minor. Il nodo di lavoro sostitutivo viene creato nella stessa zona, nello stesso pool di nodi di lavoro e con lo stesso profilo del nodo di lavoro eliminato. Tuttavia, al nodo worker sostitutivo viene assegnato un nuovo indirizzo IP privato e vengono perse tutte le etichette o i taint personalizzati applicati al vecchio nodo worker (le etichette e i taint del pool di worker rimangono comunque applicati al nodo worker sostitutivo).
Cosa succede se sostituisco più nodi di lavoro contemporaneamente?
Se sostituisci più nodi di lavoro contemporaneamente, vengono eliminati e sostituiti contemporaneamente, non uno per uno. Assicurati di disporre di capacità sufficiente nel tuo cluster per ripianificare i tuoi carichi di lavoro prima di sostituire i nodi di lavoro.
Cosa succede se non viene creato un nodo di lavoro sostitutivo?
Un nodo di lavoro sostitutivo non viene creato se il pool di nodi di lavoro non ha il ribilanciamento automatico abilitato.

Prerequisiti

Prima di aggiornare i tuoi nodi di lavoro dell'infrastruttura VPC , riesamina i passi prerequisiti.

Gli aggiornamenti ai nodi di lavoro possono causare tempi di inattività per applicazioni e servizi. La macchina del tuo nodo di lavoro viene rimossa e i dati vengono eliminati se non sono archiviati al di fuori del pod.

Aggiornamento dei nodi di lavoro VPC nella CLI

Completa la seguente procedura per aggiornare i tuoi nodi di lavoro utilizzando la CLI.

  1. Completa i passi prerequisiti.
  2. Facoltativo: aumentare la capacità del cluster modificando le dimensioni del pool di worker. I pod sul nodo di lavoro possono essere ripianificati e continuare l'esecuzione sui nodi di lavoro aggiunti durante l'aggiornamento. Per ulteriori informazioni, vedi Aggiunta di nodi di lavoro ai cluster Classic o Aggiunta di nodi di lavoro ai cluster VPC.
  3. Elenca i nodi di lavoro presenti nel tuo cluster e prendi nota dell'ID e dell'IP primario del nodo di lavoro che vuoi aggiornare.
    ibmcloud oc worker ls --cluster CLUSTER
    
  4. Sostituisci il nodo di lavoro per aggiornare la versione patch o la versione major.minor che corrisponde alla versione del master.
    • Per aggiornare il nodo worker alla stessa versione di major.minor del nodo master, includere l'opzione --update.
        ibmcloud oc worker replace --cluster CLUSTER --worker WORKER-NODE-ID --update
        ```
    *  Per aggiornare il nodo worker all'ultima versione della patch, mantenendo la stessa versione di `major.minor`, non includere l'opzione `--update`.
    ```sh {: pre}
        ibmcloud oc worker replace --cluster CLUSTER --worker WORKER-NODE-ID
        ```
    
  5. Ripeti questi passi per ogni nodo di lavoro che devi aggiornare.
  6. Facoltativo: una volta che i nodi di lavoro sostituiti hanno raggiunto lo stato "Pronto", ridimensionare il pool di nodi di lavoro in modo che corrisponda alla capacità desiderata per il cluster. Per ulteriori informazioni, Aggiunta di nodi di lavoro ai cluster VPC.

Se stai eseguendo Portworx nel tuo cluster VPC, devi collegare manualmente il tuo Block Storage for VPC volume al tuo nuovo nodo di lavoro.

Aggiornamento dei nodi di lavoro VPC nella console

Puoi aggiornare i tuoi nodi di lavoro VPC nella console. Prima di iniziare, valuta la possibilità di aggiungere nodi di lavoro al cluster per evitare tempi di inattività delle tue applicazioni.

  1. Completa i passi prerequisiti.
  2. Dal menu della console IBM Cloud Icona Menu, fare clic su Contenitori > Cluster.
  3. Dalla pagina Cluster, fai clic sul tuo cluster.
  4. Dalla scheda Nodi di lavoro, seleziona la casella di spunta per ciascun nodo di lavoro che desideri aggiornare. Viene visualizzata una barra delle azioni sulla riga dell'intestazione della tabella.
  5. Dalla barra delle azioni, fai clic su Aggiorna.

Aggiornamento dei profili (tipi di macchina)

Prima di cominciare:

Per aggiornare i profili:

  1. Elenca i nodi di lavoro e prendi nota del loro indirizzo IP privato.

    1. Elenca i pool di nodi di lavoro disponibili nel tuo cluster.
        ibmcloud oc worker-pool ls --cluster CLUSTER
        ```
    2. Elenca i nodi di lavoro nel pool di nodi di lavoro. Prendi nota di **ID** e **IP privato**.
    ```sh {: pre}
        ibmcloud oc worker ls --cluster CLUSTER --worker-pool WORKER-POOL
        ```
    3. Ottieni i dettagli per un nodo di lavoro. Nell'output, prendi nota della zona e dell'ID della VLAN pubblica e privata per i cluster classici o dell'ID della sottorete per i cluster VPC.
    ```sh {: pre}
        ibmcloud oc worker get --cluster CLUSTER --worker WORKER-ID
        ```
    
  2. Elenca i profili disponibili nella zona.

    ibmcloud oc flavors --zone <zone>
    
  3. Crea un nodo di lavoro con il nuovo tipo di macchina.

    1. Crea un pool di nodi di lavoro con il numero di nodi di lavoro che vuoi sostituire.
      • Cluster classici:
        ibmcloud oc worker-pool create classic --name WORKER-POOL --cluster CLUSTER --flavor FLAVOR --size-per-zone NUMBER-OF-WORKERS-PER-ZONE
        
      • Cluster VPC di generazione 2:
        ibmcloud oc worker-pool create vpc-gen2 --name NAME --cluster CLUSTER --flavor FLAVOR --size-per-zone NUMBER-OF-WORKERS-PER-ZONE --label LABEL
        
    2. Verifica che il pool di nodi di lavoro sia stato creato.
        ibmcloud oc worker-pool ls --cluster CLUSTER
        ```
    3. Aggiungi la zona al pool di nodi di lavoro che hai richiamato in precedenza. Quando aggiungi una zona, viene eseguito il provisioning dei nodi di lavoro definiti nel tuo pool di nodi di lavoro nella zona e vengono considerati per una pianificazione futura del carico di lavoro. Se vuoi distribuire i tuoi nodi di lavoro tra più zone, scegli un'ubicazione multizona [classica](/docs/openshift?topic=openshift-regions-and-zones#zones-mz) o [VPC](/docs/openshift?topic=openshift-regions-and-zones#zones-vpc).
        * Cluster classici:
            ```sh {: pre}
            ibmcloud oc zone add classic --zone ZONE --cluster CLUSTER --worker-pool WORKER-POOL --private-vlan PRIVATE-VLAN-ID --public-vlan PUBLIC-VLAN-ID
            ```
        * Cluster VPC:
            ```sh {: pre}
            ibmcloud oc zone add vpc-gen2 --zone ZONE --cluster CLUSTER --worker-pool WORKER-POOL --subnet-id VPC-SUBNET-ID
            ```
    
  4. Attendi che i nodi di lavoro vengano distribuiti. Quando lo stato del nodo di lavoro diventa Normal, la distribuzione è terminata.

    ibmcloud oc worker ls --cluster CLUSTER
    
  5. Rimuovi il nodo di lavoro obsoleto. Nota: se stati rimuovendo un profilo con fatturazione mensile (ad esempio, bare metal), ti viene addebitato l'intero mese.

    1. Rimuovi il pool di nodi di lavoro con il tipo di macchina obsoleto. La rimozione di un pool di nodi di lavoro rimuove tutti i nodi di lavoro nel pool in tutte le zone. Il completamento di questo processo potrebbe impiegare alcuni minuti.
        ibmcloud oc worker-pool rm --worker-pool WORKER-POOL --cluster CLUSTER
        ```
    2. Verifica che il pool di nodi di lavoro sia stato rimosso.
    ```sh {: pre}
        ibmcloud oc worker-pool ls --cluster CLUSTER
        ```
    
  6. Verifica che i nodi di lavoro siano stati rimossi dal tuo cluster.

    ibmcloud oc worker ls --cluster CLUSTER
    
  7. Ripeti questa procedura per aggiornare altri pool di nodi di lavoro o nodi di lavoro autonomi a profili differenti

Come vengono ridotti i pool di nodi di lavoro?

Quando il numero di nodi di lavoro in un pool di nodi di lavoro viene ridotto, ad esempio durante l'aggiornamento di un nodo di lavoro o con il comando ibmcloud oc worker-pool resize, ai nodi di lavoro viene assegnata una priorità per l'eliminazione in base a diverse proprietà, inclusi lo stato, l'integrità e la versione.

Questa logica di priorità non è rilevante per il componente aggiuntivo autoscaler.

La seguente tabella mostra l'ordine in cui ai nodi di lavoro viene assegnata la priorità per l'eliminazione.

È possibile eseguire il comando ibmcloud oc worker ls per visualizzare tutte le proprietà del nodo di lavoro elencate nella tabella.

Priorità per i nodi di lavoro eliminati durante il ridimensionamento decrementale del pool di lavoro.
Priority (Priorità) Proprietà Descrizione
1 Stato nodo di lavoro Ai nodi di lavoro in stati non funzionanti o poco funzionanti viene assegnata una priorità per la rimozione. Questo elenco mostra gli stati ordinati dalla priorità più alta a quella più bassa: provision_failed, deploy_failed, deleting, provision_pending, provisioning, deploying, provisioned, reloading_failed, reloading, deployed.
2 Integrità del nodo di lavoro I nodi di lavoro non integri hanno la priorità rispetto ai nodi di lavoro integri. Questo elenco mostra gli stati di integrità ordinati dalla priorità più alta a quella più bassa: critical, warning, pending, unsupported, normal.
3 Versione nodo di lavoro I nodi di lavoro che vengono eseguiti su versioni precedenti hanno una priorità più alta per l'eliminazione.
4 Impostazione di posizionamento scelta Solo per i nodi di lavoro in esecuzione su un host dedicato. I nodi di lavoro in esecuzione su un host dedicato che ha l'opzione DesiredPlacementDisabled impostata su true hanno una priorità più alta per l'eliminazione.
5 Ordine alfabetico Una volta assegnata una priorità ai nodi di lavoro in base ai fattori elencati in precedenza, vengono eliminati in ordine alfabetico. Tieni presente che, in base alle convenzioni dell'ID nodo di lavoro, gli ID per i nodi di lavoro sui cluster classici e VPC sono correlati all'età, in modo che i nodi di lavoro più vecchi vengano rimossi per primi.

Aggiornamento dei componenti del cluster

Il tuo cluster Red Hat OpenShift on IBM Cloud viene fornito con dei componenti, come Ingress, che vengono installati automaticamente quando esegui il provisioning del cluster. Per impostazione predefinita, questi componenti vengono aggiornati automaticamente da IBM. Tuttavia, puoi disabilitare gli aggiornamenti per alcuni componenti aggiuntivi e aggiornarli manualmente e separatamente dai nodi master e di lavoro.

Quali componenti predefiniti posso aggiornare separatamente dal cluster?
Puoi disabilitare facoltativamente gli aggiornamenti automatici per i seguenti componenti:
Ci sono componenti che non posso aggiornare separatamente dal cluster?
Sì. Il cluster è stato implementato con i seguenti componenti gestiti e le risorse associate, che non possono essere modificati, salvo che per ridimensionare i pod o modificare le configmap al fine di ottenere determinati vantaggi in termini di prestazioni. Se provi a modificare uno di questi componenti di distribuzione, le loro impostazioni originali vengono ripristinate a intervalli regolari quando vengono aggiornate con il master cluster. Tuttavia, tieni presente che le risorse che crei che vengono associate a questi componenti, come ad esempio le politiche di rete Calico che crei per essere implementate dai componenti di distribuzione Calico, non vengono aggiornate.
  • calico componenti
  • coredns componenti
  • ibm-cloud-provider-ip
  • ibm-file-plugin
  • ibm-keepalived-watcher
  • ibm-master-proxy
  • ibm-storage-watcher
  • kubernetes-dashboard componenti
  • metrics-server
  • Componenti olm-operator e catalog (1.16 e successive)
  • vpn
Posso installare plug-in o componenti aggiuntivi diversi da quelli predefiniti?
Sì. Red Hat OpenShift on IBM Cloud mette a disposizione altri plug-in e componenti aggiuntivi tra cui puoi scegliere per ampliare le funzionalità del tuo cluster. Ad esempio, potresti voler abilitare i componenti aggiuntivi gestiti d IBM nel tuo cluster. È necessario aggiornare questi componenti aggiuntivi separatamente, seguendo la procedura di aggiornamento dei componenti aggiuntivi gestiti.

Gestione degli aggiornamenti automatici per Fluentd

Quando crei una configurazione di registrazione per un'origine nel tuo cluster da inoltrare a un server esterno, nel tuo cluster viene creato un componente Fluentd. Per modificare le configurazioni relative alla registrazione o ai filtri, è necessario che il componente Fluentd sia aggiornato all'ultima versione. Per impostazione predefinita, gli aggiornamenti automatici per il componente sono abilitati.

Puoi gestire gli aggiornamenti automatici del componente Fluentd nei seguenti modi. Nota: per eseguire i comandi riportati di seguito, è necessario disporre del ruolo di accesso alla piattaforma IAM " IBM Cloud "(Amministratore) per il cluster.

  • Verifica se gli aggiornamenti automatici sono abilitati eseguendo il comando ibmcloud oc logging autoupdate get --cluster CLUSTER .
  • Disattiva gli aggiornamenti automatici eseguendo il comando ibmcloud oc logging autoupdate disable .
  • Se gli aggiornamenti automatici sono disabilitati, ma hai bisogno di cambiare la tua configurazione, hai due opzioni:
    • Attiva gli aggiornamenti automatici per i tuoi pod Fluentd.
        ibmcloud oc logging autoupdate enable --cluster CLUSTER
        ```
    * Forza un aggiornamento una tantum quando usi un comando di registrazione che include l'opzione `--force-update`. **Nota**: i tuoi pod vengono aggiornati alla versione più recente del componente Fluentd, ma Fluentd non viene aggiornato automaticamente andando avanti.
            Comando di esempio
    
    ```sh {: pre}
        ibmcloud oc logging config update --cluster CLUSTER --id LOG-CONFIG-ID --type LOG-TYPE --force-update
        ```
    

Gestione degli aggiornamenti automatici per gli ALB Ingress

Controlla quando viene aggiornato il componente ALB (application load balancer) Ingress. Per informazioni su come mantenere gli ALB aggiornati, vedi Gestione del ciclo di vita di ALB Ingress.

Aggiornamento di componenti aggiuntivi gestiti

I componenti aggiuntivi per i cluster gestiti di IBM Cloud Kubernetes Service rappresentano un modo semplice per potenziare il proprio cluster con funzionalità open source, come ad esempio Istio. La versione dello strumento open-source che aggiungi al tuo cluster è verificata da IBM e approvata per l'utilizzo in IBM Cloud Kubernetes Service. Per aggiornare alle ultime versioni i componenti aggiuntivi gestiti che hai abilitato nel tuo cluster, vedi Aggiornamento di componenti aggiuntivi gestiti.