Table des matières

Introduction

Conditions préalables

Exigences

Composants utilisés

Informations générales

Problème

Analyse

Approche 1

Approche 2

Introduction

Ce document décrit la procédure de dépannage de Kubernetes Pod Not Ready vu dans la fonction de contrôle des politiques (PCF).

Conditions préalables

Exigences

Cisco vous recommande de prendre connaissance des rubriques suivantes :

- PCF

- Plate-forme de déploiement cloud native 5G (CNDP)

- Dockers et Kubernetes

Composants utilisés

Les informations contenues dans ce document sont basées sur les versions de matériel et de logiciel suivantes :

- PCF REL_2023.01.2

- Kubernetes v1.24.6

The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. Si votre réseau est en ligne, assurez-vous de bien comprendre l’incidence possible des commandes.

Informations générales

Dans cette configuration, le protocole CNDP héberge PCF.

Lorsqu'un Pod Kubernetes est à l'état « Non prêt », cela signifie que le Pod n'est pas actuellement en mesure de servir le trafic parce qu'un ou plusieurs de ses conteneurs ne sont pas à l'état prêt. Cela peut être dû à diverses raisons, telles que des conteneurs qui sont toujours en cours de démarrage, l'échec des contrôles d'intégrité ou la rencontre d'erreurs.

Problème

Vous voyez des alertes sur l'état CEE (Common Execution Environment) pour les pods Kubernetes (K8), non prêt.

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

Approche 1

Après vous être connecté à un noeud Kubernetes (K8s), vérifiez les alertes d'un noeud qui est actuellement à l'état « Non prêt ».

Il est conseillé de vérifier tout processus de mise à niveau ou de maintenance. À ce moment, le pod peut être mis hors ligne afin d'appliquer des mises à jour, d'installer de nouveaux logiciels ou d'effectuer d'autres tâches nécessaires. ou des activités de maintenance en cours qui peuvent avoir un impact sur la disponibilité du pod.

Les pods miroirs sont censés être dans l'état mentionné pendant l'activité de mise à niveau du site sur le site homologue (GR).

Connectez-vous au noeud maître et vérifiez l'état du pod miroir.

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.

Approche 2

Si vous recevez des alertes indiquant qu'un pod Kubernetes (K8s) n'est pas prêt dans l'état CEE, cela suggère que le pod rencontre des problèmes et ne peut pas être considéré comme pleinement opérationnel. Cet état implique généralement que le pod ne peut pas accepter le trafic ou remplir sa fonction prévue.

Analysez les alertes et les informations associées afin de comprendre la cause de l'état « Non prêt ». Les alertes peuvent fournir des détails sur le problème ou le déclencheur spécifique qui a entraîné le changement d'état du noeud. Les contraintes de ressources, les problèmes de connectivité réseau, les pannes matérielles ou les problèmes de configuration sont des raisons courantes pour lesquelles un noeud est à l'état Non prêt.

Étape 1. Vérifiez l'état du pod à l'aide de la commandekubectl get podsafin de vérifier l'état du pod et rechercher l'état du pod. Si le pod n'est pas prêt, il peut afficher un état tel que 'Pending', 'CrashLoopBackOff' ou 'Error'.

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

Étape 2. Connectez-vous au VIP maître et obtenez le pod pgpool.

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:~$

Étape 3. Supprimez le pod pgpool.

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

Étape 4. Vérifiez que le nouveau pod pgpool fonctionne correctement.

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

Étape 5. Vérifiez que les alertes liées au pod pgpool ont été effacées sur le centre d'opérations CEE.

[pcf01/pcfapp] cee# show alerts active summary