OpenShift: Il processo di deployment del cluster non è riuscito a causa di uno stato pod statico non integro.
Summary: Un problema della piattaforma container OpenShift che causava un errore di deployment del cluster, lo stato statico del pod veniva modificato in completato.
Symptoms
Scenario 1: Il processo di configurazione del deployment del cluster non è riuscito con errore "Failed to execute step Wait For OCP Control Plane Ready"
Scenario 2: Il processo di configurazione dell'implementazione del cluster non è riuscito con errore "Failed to execute step Config OCP Registry"
Accedere al nodo primario tramite SSH (la credenziale predefinita è root/Passw0rd!), eseguire i comandi riportati di seguito per controllare lo stato clusterversion, clusteroperator e dei pod statici.
1. Eseguire il comando:kubectl --kubeconfig="/usr/share/mcp_ocp/pv/mcp-installer-ocp/auth/kubeconfig" get clusterversion
Il comando restituisce "kube-scheduler is degraded", ad esempio:
| NOME VERSIONE DISPONIBILE IN PROGRESSIONE DALLO STATO versione False Falso 5h4m Errore durante la riconciliazione 4.13.12: l'operatore del cluster kube-scheduler è danneggiato |
oppure restituisce "kube-controller-manager is degraded", ad esempio:
| NOME VERSIONE DISPONIBILE IN PROGRESSIONE DALLO STATO Versione False Falso 5h4m Errore durante la riconciliazione 4.13.12: l'operatore del cluster kube-controller-manager è danneggiato |
2. Eseguire il comando:
kubectl --kubeconfig="/usr/share/mcp_ocp/pv/mcp-installer-ocp/auth/kubeconfig" get co
Takes kube-controller-manager is degraded. Ad esempio, il comando mostra che un kube-controller-manager è danneggiato con il messaggio "GuardControllerDegraded: Operando mancante sul nodo"
|
NOME VERSIONE DISPONIBILE MESSAGGIO PROGRESSING DEGRADED SINCE ...... kube-controller-manager 4.13.12 True True 4d7h GuardControllerDegraded: [Operando mancante sul nodo h01-01-compute-02.p82.local, operando mancante sul nodo h01-01-compute-03.p82.local]... ...... machine-config 4.13.12 True False True 4d7h Impossibile risincronizzare 4.13.12 perché: errore durante syncRequiredMachineConfigPools: [Timeout in attesa della condizione, errore Pool Master is not ready. Nuovo tentativo. Status: (pool danneggiato: true totale: 3, pronto 1, aggiornato: 1, non disponibile: 2)] |
3. Eseguire il comando:
kubectl --kubeconfig="/usr/share/mcp_ocp/pv/mcp-installer-ocp/auth/kubeconfig" get pods -A | grep kube-controller-manager
Takes kube-controller-manager is degraded Ad esempio, il comando mostra che kube-controller-manager è 0/1
|
IL NOME STATO PRONTO RIAVVIA L'ETÀ installer-4-h01-01-compute-03.p82.local 0/1 Completato 0 4d7h installer-4-h01-01-compute-04.p82.local 0/1 Completato 0 4d7h installer-5-h01-01-compute-03.p82.local 0/1 Completato 0 4d7h installer-5-h01-01-compute-04.p82.local 0/1 Completato 0 4d7h installer-6-h01-01-compute-03.p82.local 0/1 Completato 0 4d7h kube-controller-manager-guard-h01-01-compute-03.p82.local 0/1 In esecuzione 0 4d7h kube-controller-manager-guard-h01-01-compute-04.p82.local 1/1 in esecuzione 0 4d7h kube-controller-manager-h01-01-compute-04.p82.local 4/4 in esecuzione 0 4d7h |
Cause
La root cause è che Kubernetes non riesce a eliminare alcuni pod e fa sì che alcuni servizi entrino in uno stato non integro.
Resolution
Questo problema verrà risolto nella versione OCP futura.
Per la versione OCP interessata, seguire la procedura riportata di seguito per risolvere il problema:
accesso SSH al nodo identificato, nell'esempio precedente il nome del nodo identificato è "c4-esx02.rackj03.local".
1. Salvare la chiave privata corrispondente alla chiave pubblica SSH generata nella pagina web della procedura guidata di deployment del cluster.
Run command: ssh-keygen -t ecdsa -b 521
- Immettere il nome del file in cui si desidera salvare la chiave o utilizzare il valore predefinito.
- Immettere la passphrase o utilizzando il valore predefinito.
La tua chiave pubblica è stata salvata in /root/.ssh/id_ecdsa.pub
3. Eseguire il comando: sudo systemctl restart kubelet
4. Riprovare il processo di deployment del cluster dalla pagina web della procedura guidata