OpenShift: Klyngeimplementeringsprocessen mislykkedes pga. usund statisk pod-status.
Summary: Et problem med OpenShift-beholderplatformen, der forårsager fejl i klyngeimplementering, og statisk podstatus ændret til fuldført.
Symptoms
Scenarie 1: Konfigurationsprocessen for klyngeimplementering mislykkedes med fejlen "Kunne ikke udføre trin Vent til OCP-kontrolplanet er klar"
Scenarie 2: Konfigurationsprocessen for klyngeimplementering mislykkedes med fejlen "Kunne ikke udføre trinkonfiguration af OCP-registreringsdatabasen"
Log på den primære node via SSH (standardlegitimationsoplysninger er root/Passw0rd!), kør nedenstående kommandoer for at kontrollere status for clusterversion, clusteroperator og statiske pods.
1. Kør kommandoen:kubectl --kubeconfig="/usr/share/mcp_ocp/pv/mcp-installer-ocp/auth/kubeconfig" get clusterversion
Kommandoen returnerer "kube-scheduler is degradered", for eksempel:
| NAVN TILGÆNGELIG VERSION FREMSKRIDT SIDEN STATUS-version Falsk Falsk 5h4m Fejl under afstemning 4.13.12: Klyngeoperatorens kube-scheduler er forringet |
Eller den returnerer "kube-controller-manager er forringet", for eksempel:
| NAVN TILGÆNGELIG VERSION FREMSKRIDT SIDEN STATUS-version Falsk Falsk 5h4m Der opstod en fejl under afstemning 4.13.12: Klyngeoperatøren kube-controller-manager er forringet |
2. Kør kommandoen:
kubectl --kubeconfig="/usr/share/mcp_ocp/pv/mcp-installer-ocp/auth/kubeconfig" get co
Tager kube-controller-manager er forringet for eksempel, kommandoen viser, at en kube-controller-manager er forringet med meddelelsen "GuardControllerDegraded: Manglende operand på node"
|
NAVN TILGÆNGELIG VERSION SKRIDER FREM FORRINGET SIDEN MEDDELELSEN ...... kube-controller-manager 4.13.12 True True True 4d7h GuardControllerDegraded: [Manglende operand på node h01-01-compute-02.p82.local, Manglende operand på node h01-01-compute-03.p82.local]... ...... machine-config 4.13.12 True False True 4d7h Kunne ikke gensynkronisere 4.13.12 fordi: fejl under syncRequiredMachineConfigPools: [Der opstod timeout og ventede på betingelsen, Error Pool Master er ikke klar, forsøger igen. Status: (pulje forringet: sand total: 3, Ready 1, opdateret: 1, ikke tilgængelig: 2)] |
3. Kør kommandoen:
kubectl --kubeconfig="/usr/share/mcp_ocp/pv/mcp-installer-ocp/auth/kubeconfig" get pods -A | grep kube-controller-manager
Tager kube-controller-manager er forringet for eksempel, kommandoen viser en kube-controller-manager er 0/1
|
STATUS NAME READY GENSTARTER ALDER installer-4-h01-01-compute-03.p82.local 0/1 Fuldført 0 4d7h installer-4-h01-01-compute-04.p82.local 0/1 Fuldført 0 4d7h installer-5-h01-01-compute-03.p82.local 0/1 Fuldført 0 4d7h installer-5-h01-01-compute-04.p82.local 0/1 fuldført 0 4d7h installer-6-h01-01-compute-03.p82.local 0/1 afsluttet 0 4d7h kube-controller-manager-guard-h01-01-compute-03.p82.local 0/1 Løb 0 4d7h kube-controller-manager-guard-h01-01-compute-04.p82.local 1/1 Kører 0 4d7h kube-controller-manager-h01-01-compute-04.p82.local 4/4 Kører 0 4d7h |
Cause
Den grundlæggende årsag er, at Kubernetes undlader at slette nogle Pod og får nogle tjenester til at løbe ind i usund tilstand.
Resolution
Dette problem vil blive rettet i fremtidig OCP-version.
For den påvirkede OCP-version skal du følge nedenstående trin for at løse problemet:
SSH-login til den identificerede node, i ovenstående eksempel er det identificerede nodenavn "c4-esx02.rackj03.local".
1. Gem den private nøgle, der svarer til den offentlige ssh-nøgle, som du genererede på klyngeimplementeringsguidens webside.
Kør kommando: ssh-keygen -t ecdsa -b 521
- Indtast et filnavn, som du vil gemme nøglen eller bruge standardværdien.
- Indtast adgangssætning eller ved hjælp af standardværdien.
Din offentlige nøgle er blevet gemt i /root/.ssh/id_ecdsa.pub
3. Kør kommando: sudo systemctl genstart kubelet
4. Prøv klyngeudrulningsprocessen igen fra guidens webside