Risoluzione dei problemi relativi all'aggiornamento del master del cluster: errore "Migrazione in corso"

Scopri come individuare e risolvere l'errore " Cannot complete cluster master upgrade because there is a migration in progress " all'indirizzo IBM Cloud.

Virtual Private CloudInfrastruttura classica

Viene visualizzato il seguente messaggio di errore durante l'aggiornamento del master.

Cannot complete cluster master upgrade because there is a migration in progress

Si sta aggiornando il master cluster, ma alcune risorse erano ancora in fase di migrazione da un aggiornamento precedente.

Ad esempio, se si tratta di un aggiornamento principale da IBM Cloud Kubernetes Service versione 1.31 a 1.32, l'Operatore Tigera non ha ancora completato la migrazione dal precedente aggiornamento da IBM Cloud Kubernetes Service versione 1.30 a 1.31.

Per risolvere il problema, attendere più a lungo. I cluster più grandi impiegano più tempo per completare la migrazione. Ci vogliono circa 100 secondi per nodo dopo che il master è stato aggiornato correttamente per completare la migrazione. L'operatore Tigera è richiesto per eseguire diverse azioni e può comportare lo scorrere di pod in alto e in basso tra i nodi.

Tuttavia, è possibile che la migrazione si sia bloccata. Controlla se i pod calico-typha e calico-node sono stati rimossi dallo spazio dei nomi kube-system e creati nello spazio dei nomi calico-system. Se tali risorse non sono state spostate, potrebbe esserci un problema con uno o più nodi di lavoro.

Per risolvere i problemi relativi alla migrazione:

  1. Controlla lo stato dei nodi di lavoro.

    kubectl get nodes
    

    Se vedi un nodo di lavoro che non è nello stato Ready, come ad esempio nello stato NotReady o SchedulingDisabled, la migrazione potrebbe essere bloccata.

    NotReady Esempio:

    NAME            STATUS   ROLES    AGE    VERSION
    10.177.112.32   NotReady <none>   2d2h   v1.30.0+IKS
    10.177.112.50   Ready    <none>   2d2h   v1.30.0+IKS
    10.177.112.52   Ready    <none>   2d2h   v1.30.0+IKS
    

    SchedulingDisabled Esempio:

    NAME             STATUS                     ROLES    AGE   VERSION
    10.177.112.32   Ready,SchedulingDisabled   <none>   95m   v1.30.0+IKS
    10.177.112.50   Ready                      <none>   95m   v1.30.0+IKS
    10.177.112.52   Ready                      <none>   95m   v1.30.0+IKS
    
  2. Per i nodi di lavoro con problemi, riavviare o ricaricarli.

Risultato:

Quando i nodi di lavoro sono integri, i pod calico-typha e calico-node possono riprendere il ridimensionamento nello spazio dei nomi kube-system e il ridimensionamento nello spazio dei nomi calico-system.

Per confermare che la migrazione è completa:

  1. Verifica che la distribuzione calico-typha non esista più nello spazio dei nomi kube-system.

    kubectl get deployment calico-typha -n kube-system
    

    Risultato:

    Error from server (NotFound): deployments.apps "calico-typha" not found
    
  2. Verificare che non sia presente alcun nodo con l'etichetta projectcalico.org/operator-node-migration.

    kubectl get nodes -l projectcalico.org/operator-node-migration
    

    Risultato:

    No resources found
    
  3. Se la migrazione è ancora bloccata, sostituire o rimuovere i nodi problematici. Per ulteriori informazioni, vedi Debug dei nodi di lavoro.

Una volta confermato che la migrazione è completa, procedi con l'aggiornamento master a IBM Cloud Kubernetes Service versione 1.30.