OpenShift: Proces nasazení clusteru se nezdařil kvůli stavu statického podu, který není v pořádku.
Summary: Problém s kontejnerovou platformou OpenShift, který způsobuje selhání nasazení clusteru, stav statického modulu se změnil na dokončeno.
Symptoms
Scénář 1: Proces konfigurace nasazení clusteru se nezdaří s chybou "Failed to execute step Wait For OCP Control Plane Ready"
– scénář 2: Proces konfigurace nasazení clusteru se nezdaří s chybou "Failed to execute step Config OCP Registry"
Přihlaste se k primárnímu uzlu pomocí SSH (výchozí přihlašovací údaje jsou root/Passw0rd!), spuštěním níže uvedených příkazů zkontrolujte clusterversion, clusteroperator a stav statických podů.
1. Spusťte příkaz:kubectl --kubeconfig="/usr/share/mcp_ocp/pv/mcp-installer-ocp/auth/kubeconfig" get clusterversion
Příkaz vrátí "kube-scheduler je degradovaný", například:
| DOSTUPNÁ VERZE NÁZVU OD VERZE STATUS Nepravda Nepravda 5h4m Chyba při odsouhlasení 4.13.12: Operátor clusteru KUBE-SCHEDULER je degradován |
Nebo vrátí "kube-controller-manager je degradovaný", například:
| DOSTUPNÁ VERZE NÁZVU OD VERZE STATUSU Nepravda Nepravda 5h4m Chyba při odsouhlasení 4.13.12: Operátor clusteru kube-controller-manager je degradován |
2. Spusťte příkaz:
kubectl --kubeconfig="/usr/share/mcp_ocp/pv/mcp-installer-ocp/auth/kubeconfig" get co
Takes kube-controller-manager je degradovaný, například příkaz ukazuje, že jeden kube-controller-manager je degradovaný se zprávou "GuardControllerDegraded: Chybějící operand na uzlu"
|
NÁZEV, VERZE K DISPOZICI, POSTUPNÝ SNÍŽENÝ VÝKON OD ZPRÁVY ...... kube-controller-manager 4.13.12 True True True 4d7h GuardControllerDegraded: [Chybějící operand na uzlu h01-01-compute-02.p82.local, Chybějící operand na uzlu h01-01-compute-03.p82.local]... ...... machine-config 4.13.12 True False True 4d7h Nepodařilo se znovu synchronizovat 4.13.12, protože: chyba během syncRequiredMachineConfigPools: [Vypršel časový limit při čekání na podmínku, hlavní server fondu chyb není připraven, probíhá opakovaný pokus. Status: (Snížení výkonu fondu: Skutečný součet: 3, připraveno 1, aktualizováno: 1, nedostupné: 2)] |
3. Spusťte příkaz:
kubectl --kubeconfig="/usr/share/mcp_ocp/pv/mcp-installer-ocp/auth/kubeconfig" get pods -A | grep kube-controller-manager
Přebírá kube-controller-manager je degradovaný, například příkaz ukazuje, že jeden kube-controller-manager je 0/1
|
STAV "NAME READY" RESTARTUJE AGE installer-4-h01-01-compute-03.p82.local 0/1 Splněno 0 4d7h installer-4-h01-01-compute-04.p82.local 0/1 Splněno 0 4d7h installer-5-h01-01-compute-03.p82.local 0/1 splněno 0 4d7h installer-5-h01-01-compute-04.p82.local 0/1 Splněno 0 4d7h installer-6-h01-01-compute-03.p82.local 0/1 Splněno 0 4d7h kube-controller-manager-guard-h01-01-compute-03.p82.local 0/1 Běh 0 4k7h kube-controller-manager-guard-h01-01-compute-04.p82.local 1/1 Running 0 4d7h kube-controller-manager-h01-01-compute-04.p82.local 4/4 Running 0 4d7h |
Cause
Hlavní příčinou je, že Kubernetes neodstraní některé pody a způsobí, že některé služby přejdou do špatného stavu.
Resolution
Tento problém bude opraven v budoucí verzi OCP.
V případě dotčené verze OCP problém vyřešíte podle následujících kroků:
SSH login to the identified node, ve výše uvedeném příkladu je název identifikovaného uzlu "c4-esx02.rackj03.local".
1. Uložte soukromý klíč odpovídající veřejnému klíči SSH, který jste vygenerovali na webové stránce průvodce nasazením clusteru.
command: ssh-keygen -t ecdsa -b 521
- Zadejte název souboru, do kterého chcete klíč uložit, nebo použijte výchozí hodnotu.
- Zadejte přístupové heslo nebo použijte výchozí hodnotu.
Váš veřejný klíč byl uložen v /root/.ssh/id_ecdsa.pub
3. Spusťte příkaz: sudo systemctl restart kubelet
4. Opakujte proces nasazení clusteru z webové stránky průvodce.