Inhalt

Einleitung

Voraussetzungen

Anforderungen

Verwendete Komponenten

Hintergrundinformationen

Problem

Analyse

Ansatz 1

Ansatz 2

Einleitung

In diesem Dokument wird das Verfahren zur Fehlerbehebung für Kubernetes Pod Not Ready in der Policy Control Function (PCF) beschrieben.

Voraussetzungen

Anforderungen

Cisco empfiehlt, dass Sie über Kenntnisse in folgenden Bereichen verfügen:

- PCF

- 5G Cloud Native Deployment Platform (CNDP)

- Dockers und Kubernetes

Verwendete Komponenten

Die Informationen in diesem Dokument basierend auf folgenden Software- und Hardware-Versionen:

- PCF REL_2023,01,2

- Kubernetes v1.24.6

Die Informationen in diesem Dokument beziehen sich auf Geräte in einer speziell eingerichteten Testumgebung. Alle Geräte, die in diesem Dokument benutzt wurden, begannen mit einer gelöschten (Nichterfüllungs) Konfiguration. Wenn Ihr Netzwerk in Betrieb ist, stellen Sie sicher, dass Sie die möglichen Auswirkungen aller Befehle kennen.

Hintergrundinformationen

In dieser Konfiguration hostet der CNDP PCF.

Wenn sich ein Kubernetes Pod in einem 'Not Ready'-Zustand befindet, bedeutet dies, dass der Pod derzeit nicht in der Lage ist, den Datenverkehr zu bedienen, da sich einer oder mehrere seiner Container nicht im Bereitschaftszustand befinden. Dies kann auf verschiedene Ursachen zurückzuführen sein, z. B. auf Container, die noch in Betrieb sind, fehlgeschlagene Integritätsprüfungen oder Fehler.

Problem

In der Common Execution Environment (CEE) werden Warnungen für Kubernetes-PODs (K8s) angezeigt, nicht im Bereitschaftszustand.

Command:

cee# show alerts active summary summary

Example:

[pcf01/pcfapp] cee# show alerts active summary

NAME UID SEVERITY STARTS AT DURATION SOURCE SUMMARY

----------------------------------------------------------------------------------------------------------

k8s-pod-not-ready 35b143f885ec critical 06-13T08:22:05 mirror-maker-0 Pod pcf-pcf/mirror-maker-0 has been in a non-ready state for longer than 1 minute

k8s-pod-crashing-loop 990b651ad5f5 critical 04-19T22:51:08 pcf01-master-2 Pod cee-irv1bmpcf/pgpool-65fc8b8d5f-2w9nq (pgpool) is restarting 2.03 times / 10 minutes.

k8s-pod-restarting a44d31701faf minor 04-19T01:55:38 pcf01-master-2 Pod cee-irv1bmpcf/pgpool-65fc8b8d5f-2w9nq (pgpool) is restarting 2.03 times / 10 minutes.

k8s-deployment-replic b8f04c540905 critical 04-06T01:53:48 pcf01-master-2 Deployment cee-irv1bmpcf/pgpool has not matched the expected number of replicas for longer th...

k8s-pod-not-ready cb2c8ee4a9c9 critical 04-06T01:53:48 pgpool-65fc8b8d5f-2w9 Pod cee-pcf/pgpool-65fc8b8d5f-2w9nq has been in a non-ready state for longer than 5 min...

Analyse

Ansatz 1

Überprüfen Sie nach der Anmeldung bei einem Kubernetes-Knoten (K8s) die Warnungen für einen Knoten, der sich derzeit im Status "Not Ready" (Nicht bereit) befindet.

Es ist ratsam, alle Upgrade- oder Wartungsprozesse zu überprüfen. Zu diesem Zeitpunkt kann der POD offline genommen werden, um Updates anzuwenden, neue Software zu installieren oder andere erforderliche Aufgaben oder laufende Wartungsaktivitäten durchzuführen, die sich auf die Verfügbarkeit des POD auswirken können.

Es wird erwartet, dass sich die Spiegelungs-Pods während der Site-Upgrade-Aktivität am Peer-Standort (GR) im genannten Zustand befinden.

Stellen Sie eine Verbindung zum Master-Knoten her, und überprüfen Sie den Status des Spiegelungs-POD.

cloud-user@pcf01-master-1:~$ kubectl get pods -A -o wide | grep mirror

NAMESPACE NAME READY STATUS RESTARTS AGE

pcf-pcf01 mirror-maker-0 0/1 Running 1 5d23h

#Post upgrade Activity mirror-maker pod status

cloud-user@pcf01-master-1:~$ kubectl get pods -A|grep mirror

pcf-pcf01 mirror-maker-0 1/1 Running 1 6d.

Ansatz 2

Wenn Sie Warnmeldungen erhalten, die darauf hinweisen, dass sich ein Kubernetes (K8s)-POD nicht in einem einsatzbereiten Zustand innerhalb der CEE befindet, weist dies darauf hin, dass bei dem POD Probleme auftreten und dieser nicht als voll betriebsfähig angesehen werden kann. Dieser Zustand impliziert in der Regel, dass der POD keinen Datenverkehr annehmen oder seine beabsichtigte Funktion erfüllen kann.

Analysieren Sie die Warnungen und die zugehörigen Informationen, um die Ursache für den Status "Not Ready" (Nicht bereit) zu ermitteln. Die Warnungen können Details zu dem spezifischen Problem oder Auslöser enthalten, der zu der Statusänderung des Knotens geführt hat. Häufige Gründe für einen Knoten mit dem Status "Nicht bereit" sind Ressourceneinschränkungen, Netzwerkverbindungsprobleme, Hardwarefehler oder Konfigurationsprobleme.

Schritt 1: Überprüfen Sie den POD-Status mithilfe deskubectl get podsBefehls, um den Status des POD zu überprüfen, und suchen Sie nach dem POD-Status. Wenn der POD nicht bereit ist, kann er einen Status wie 'Pending', 'CrashLoopBackOff' oder 'Error' anzeigen.

cloud-user@pcf01-master-1:~$ kubectl get pods -A -o wide | grep -v Running

NAMESPACE NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES

cee-pcf pgpool-65fc8b8d5f-2w9nq 0/1 CrashLoopBackOff 147 (117s ago) 8d xxx.xxx.xxx.xx pcf01-master-2 <none> <none>

All nodes including master-2 are in Ready state

cloud-user@pcf01-master-1:~$ kubectl get nodes

NAME STATUS ROLES AGE VERSION

Pcf01-master-1 Ready control-plane 667d v1.24.6

Pcf01-master-2 Ready control-plane 9d v1.24.6

Pcf01-master-3 Ready control-plane 9d v1.24.6

Pcf01-worker-1 Ready <none> 9d v1.24.6

Pcf01-worker-10 Ready <none> 9d v1.24.6

Pcf01-worker-11 Ready <none> 9d v1.24.6

Pcf01-worker-12 Ready <none> 9d v1.24.6

Pcf01-worker-13 Ready <none> 9d v1.24.6

Pcf01-worker-14 Ready <none> 9d v1.24.6

Pcf01-worker-15 Ready <none> 9d v1.24.6

Pcf01-worker-16 Ready <none> 9d v1.24.6

Pcf01-worker-17 Ready <none> 9d v1.24.6

Pcf01-worker-18 Ready <none> 9d v1.24.6

Pcf01-worker-19 Ready <none> 9d v1.24.6

Pcf01-worker-2 Ready <none> 9d v1.24.6

Pcf01-worker-20 Ready <none> 9d v1.24.6

Pcf01-worker-21 Ready <none> 9d v1.24.6

Pcf01-worker-22 Ready <none> 9d v1.24.6

Pcf01-worker-23 Ready <none> 9d v1.24.6

Pcf01-worker-3 Ready <none> 9d v1.24.6

Pcf01-worker-4 Ready <none> 9d v1.24.6

Pcf01-worker-5 Ready <none> 9d v1.24.6

pcf01-worker-6 Ready <none> 9d v1.24.6

pcf01-worker-7 Ready <none> 9d v1.24.6

pcf01-worker-8 Ready <none> 9d v1.24.6

pcf01-worker-9 Ready <none> 9d v1.24.6

Schritt 2: Melden Sie sich beim Master-VIP an, und rufen Sie den pgpool-Pod ab.

cloud-user@pcf01-master-1:~$ kubectl get pods -A -o wide | grep -i pgpool

cee-pcf01 pgpool-65fc8b8d5f-2w9nq 0/1 Running 3173 (3m58s ago) 22d xxx.xxx.xxx.xx pcf01-master-2 <none> <n

cloud-user@pcf01-master-1:~$

Schritt 3: Löschen Sie den pgpool-POD.

cloud-user@pcf01-master-1:~$ kubectl delete pod <pgpool pod name> -n cee-pcf

Schritt 4: Stellen Sie sicher, dass der neue pgpool-POD ordnungsgemäß ausgeführt wird.

cloud-user@pcf01-master-1:~$ kubectl get pods -A -o wide | grep -i pgpool

Schritt 5: Vergewissern Sie sich, dass die Warnungen für den pgpool-Pod im CEE-Betriebszentrum gelöscht wurden.

[pcf01/pcfapp] cee# show alerts active summary