Perché lo fa OpenShift mostrare che la versione del cluster non è aggiornata?

Virtual Private Cloud Infrastruttura classica Satellite

Viene visualizzato uno o più dei seguenti elementi per un periodo di tempo prolungato.

  • La console Web di OpenShift visualizza un banner che indica che il cluster è in aggiornamento e la pagina Impostazioni cluster mostra che la versione corrente ha lo stato Partial.

  • Quando si esegue il comando ibmcloud oc cluster get --cluster <cluster_name> viene visualizzato lo stato warning e uno stato che indica che gli operatori del cluster non sono all'ultima versione.

    State:                          warning
    Status:                         Some Cluster Operators are down-level and need to be updated, see 'https://ibm.biz/rhos_clusterversion_ts'
    
  • Quando si esegue il comando oc get clusterversion, viene visualizzata una versione precedente.

    NAME      VERSION   AVAILABLE   PROGRESSING   SINCE   STATUS
    version   4.11.27   True        True          27h     Unable to apply 4.12.3: an unknown error has occurred: MultipleErrors
    
  • Vedete che un aggiornamento del cluster master è stato annullato con uno stato simile al seguente.

    Version update canceled. CAE012: Cannot complete cluster master operations because the current OpenShift clusterversion rollout is not complete. For more information, see the troubleshooting docs: 'https://ibm.biz/rhos_clusterversion_ts'
    

Un aggiornamento del master cluster a una nuova versione di patch o un aggiornamento a una nuova versione secondaria non è stato completato.

Un aggiornamento del master cluster viene completato subito dopo l'aggiornamento di Cluster Version Operator. Il Cluster Version Operator gestisce gli aggiornamenti dei vari Cluster Operator, che continuano dopo il completamento dell'aggiornamento del master del cluster.

$ oc get clusterversion
NAME      VERSION   AVAILABLE   PROGRESSING   SINCE   STATUS
version   4.13.11   True        False         33h     Cluster version is 4.13.11

$ oc get co
NAME                                       VERSION   AVAILABLE   PROGRESSING   DEGRADED   SINCE   MESSAGE
console                                    4.13.11   True        False         False      2d3h    
csi-snapshot-controller                    4.13.11   True        False         False      2d4h    
dns                                        4.13.11   True        False         False      2d4h    
image-registry                             4.13.11   True        False         False      2d4h    
ingress                                    4.13.11   True        False         False      2d4h    
insights                                   4.13.11   True        False         False      2d4h    
kube-apiserver                             4.13.11   True        False         False      2d4h    
kube-controller-manager                    4.13.11   True        False         False      2d4h    
kube-scheduler                             4.13.11   True        False         False      2d4h    
kube-storage-version-migrator              4.13.11   True        False         False      2d4h    
marketplace                                4.13.11   True        False         False      2d4h    
monitoring                                 4.13.11   True        False         False      2d4h    
network                                    4.13.11   True        False         False      2d4h    
node-tuning                                4.13.11   True        False         False      32h     
openshift-apiserver                        4.13.11   True        False         False      2d4h    
openshift-controller-manager               4.13.11   True        False         False      2d4h    
openshift-samples                          4.13.11   True        False         False      33h     
operator-lifecycle-manager                 4.13.11   True        False         False      2d4h    
operator-lifecycle-manager-catalog         4.13.11   True        False         False      2d4h    
operator-lifecycle-manager-packageserver   4.13.11   True        False         False      2d4h    
service-ca                                 4.13.11   True        False         False      2d4h    
storage                                    4.13.11   True        False         False      2d4h    

Se il cluster è stato appena aggiornato, gli operatori del cluster possono impiegare diversi minuti per eseguire l'aggiornamento. È normale visualizzare uno stato come il seguente con il numero di passi completati che aumentano nel tempo.

Working towards 4.13.11: 511 of 616 done (82% complete), waiting on network

Se il cluster continua, mostra un aggiornamento parziale per un periodo esteso, si è verificato un problema nel cluster che impedisce agli operatori del cluster di eseguire l'aggiornamento alla versione corrente. Ciò può essere causato da molte cose, come i seguenti esempi.

  • Componenti cluster non integri come i nodi di lavoro che bloccano il rollout degli aggiornamenti dell'operatore.
  • Modifica non corretta della configurazione di un operatore cluster.
  • Modifiche in conflitto alle configurazioni del cluster, come le modifiche RBAC che influenzano i componenti OpenShift.

Iniziare ottenendo informazioni più dettagliate sull'avanzamento dell'aggiornamento dell'operatore cluster e sui problemi.

  1. Eseguire i comandi riportati di seguito per ottenere ulteriori informazioni.

    oc get clusterversion
    
    oc get clusteroperators
    
    oc describe clusteroperator NAME
    
  2. Esaminare la colonna MESSAGE nell'output del comando per identificare quali operatori cluster stanno attualmente bloccando l'avanzamento e fornire un'indicazione del problema. Il modo in cui gli operatori di aggiornamento OpenShift possono causare dipendenze non previste; ad esempio, alcuni aggiornamenti di operatori cluster potrebbero essere in attesa che altri operatori completino il passo che stanno eseguendo ora.

  3. Controlla lo stato del nodo di lavoro utilizzando il comando oc get nodes. A volte i nodi non sono Ready, il che può essere dovuto a una mancanza di risorse su un nodo o a un problema con kube-proxy o kubelet. Ciò può causare problemi durante un aggiornamento.

    • Se è stata recentemente modificata la configurazione di uno degli operatori incompleti, descrivere l'operatore per ulteriori dettagli eseguendo oc describe clusteroperator NAME.Ad esempio, oc describe cluster-operator image-registry potrebbe mostrare un errore che consente di identificare il problema.

    • Continua a controllare lo stato e i log dei pod dell'operatore per un ulteriore debug del problema. A volte gli operatori sono degradati, ma ciò non significa che gli aggiornamenti abbiano avuto esito negativo o non stiano funzionando.

  4. Se non si è in grado di identificare o risolvere i problemi, o se il problema persiste, contattare il supporto. Apri un caso di supporto. Nei dettagli del caso, assicurarsi di includere i file di log, i messaggi di errore o gli output dei comandi pertinenti.