Contenu

Introduction

Conditions préalables

Conditions requises

Components Used

Informations générales

Qu'est-ce que SMI ?

Qu'est-ce que SMI CEE ?

Qu'est-ce que les modules CEE ?

Qu'est-ce qu'un Grafana Pod ?

Qu'est-ce qu'un PostGres Pod ?

Problème

Solution de contournement

Arrêt CEE

Supprimer les dossiers de base de données des pods Postgres

Restaurer CEE

Valider les chèques

Vérifier les paramètres Kubernetes à partir du maître

Vérifier que les alertes sont effacées du CEE

Introduction

Ce document décrit une solution de contournement pour récupérer un pod Grafana qui redémarre continuellement.

Conditions préalables

Conditions requises

Cisco vous recommande de prendre connaissance des rubriques suivantes :

- Environnement d'exécution commun (CEE) Ultra Cloud Core de Cisco Subscriber Microservices Infrastructure (SMI)

- Architecture CNDP (Cloud Native Deployment Platform) 5G ou BM (SMI-bare-metal)

- Dockers et Kubernetes

Components Used

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

- SMI 2020.02.2.35

- Kubernetes v1.21.0

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

Qu'est-ce que SMI ?

Cisco SMI est une pile multicouche de technologies et de normes cloud qui permet d'utiliser des applications de microservices à partir des unités commerciales de Cisco Mobility, Cable, and Broadband Network Gateway (BNG). Ces applications ont des fonctions de gestion des abonnés similaires et des exigences similaires en matière de data store.

Attributs :

- La pile cloud de couche (technologies et normes) fournit des déploiements de haut en bas et s'adapte à l'infrastructure cloud actuelle.

- Toutes les applications partagent le CEE pour des fonctions non applicatives (stockage de données, déploiement, configuration, télémétrie, alarme), ce qui fournit une interaction et une expérience cohérentes pour tous les points de contact et d'intégration des clients.

- Les applications et le CEE sont déployés dans des conteneurs de microservices et sont connectés à un maillage de service intelligent.

- Une API exposée pour le déploiement, la configuration et la gestion permet l'automatisation.

Qu'est-ce que SMI CEE ?

- CEE est une solution logicielle développée pour surveiller les applications mobiles et câblées déployées sur le SMI. Le CEE capture les informations (mesures clés) des applications de manière centralisée pour permettre aux ingénieurs de déboguer et de dépanner.

- Le CEE est l'ensemble commun d'outils installés pour toutes les applications. Il est équipé d'un Ops Center dédié, qui fournit l'interface de ligne de commande (CLI) et les API pour gérer les outils de surveillance. Un seul CEE est disponible pour chaque grappe.

Qu'est-ce que les modules CEE ?

- Un pod est un processus qui s'exécute sur votre cluster Kubernetes. Un pod encapsule une unité granulaire appelée conteneur. Un pod contient un ou plusieurs conteneurs.

- Kubernetes déploie un ou plusieurs pods sur un noeud unique, qui peut être une machine physique ou virtuelle. Chaque pod possède une identité distincte avec une adresse IP interne et un espace de port. Cependant, les conteneurs d'un pod peuvent partager des ressources de stockage et de réseau. CEE a un certain nombre de pods qui ont des fonctions uniques. Le Grafana et le PostProgress font partie de plusieurs gousses CEE.

Qu'est-ce qu'un Grafana Pod ?

Un pod Grafana peut communiquer avec un pod Prometheus avec accès via le service Prometheus, qui s'appelle Prometheus.

Qu'est-ce qu'un PostGres Pod ?

Postgres prend en charge les bases de données SQL avec redondance pour stocker les alertes et les tableaux de bord Grafana.

Problème

Le pod Grafana redémarre régulièrement, tandis que les pods Postgres fonctionnent sans problème.

Pour récupérer, utilisez cette commande pour supprimer manuellement le pod Grafana :

kubectl delete pod

-n

Après suppression, le pod Grafana est recréé et redémarré.

Si le problème persiste, utilisez cette commande CLI pour obtenir l'exemple d'alerte de CEE afin d'identifier le problème :

[pod-name-smf/podname] cee# show alerts active summary | include "POD_Res|k8s_grafana"

Exemple :

[pod-name-smf/podname] cee# show alerts active summary | include "POD_Res|k8s_grafana"

Time Alert Name Description Port Access ID NEState Severity Alert Source

16:26 PCF_POD_Restarted " "Processing Error Alarm"} " ""Container k8s_grafana_grafana-59768df649-n6x6x_cee-dnrce301_a4ff5711-0e20-4dd4-ae7f-47296c334930_883 of pod grafana-59768df649-n6x6x in namespace cee-dnrce301 has been restarted."" InService Major NETX

16:23 PCF_k8s-pod-crashing-loop " "Processing Error Alarm"} " "Pod cee-dnrce301/grafana-59768df649-n6x6x (grafana) is restarting 1.03 times / 5 minutes." InService Critical NETX

16:20 PCF_POD_Restarted " "Processing Error Alarm"} " ""Container k8s_grafana_grafana-59768df649-n6x6x_cee-dnrce301_a4ff5711-0e20-4dd4-ae7f-47296c334930_882 of pod grafana-59768df649-n6x6x in namespace cee-dnrce301 has been restarted."" InService Major NETX

16:14 PCF_POD_Restarted " "Processing Error Alarm"} " ""Container k8s_grafana_grafana-59768df649-n6x6x_cee-dnrce301_a4ff5711-0e20-4dd4-ae7f-47296c334930_881 of pod grafana-59768df649-n6x6x in namespace cee-dnrce301 has been restarted."" InService Major NETX

16:08 PCF_POD_Restarted " "Processing Error Alarm"} " ""Container k8s_grafana_grafana-59768df649-n6x6x_cee-dnrce301_a4ff5711-0e20-4dd4-ae7f-47296c334930_880 of pod grafana-59768df649-n6x6x in namespace cee-dnrce301 has been restarted."" InService Major NETX

16:02 PCF_POD_Restarted " "Processing Error Alarm"} " ""Container k8s_grafana_grafana-59768df649-n6x6x_cee-dnrce301_a4ff5711-0e20-4dd4-ae7f-47296c334930_879 of pod grafana-59768df649-n6x6x in namespace cee-dnrce301 has been restarted."" InService Major NETX

15:56 PCF_POD_Restarted " "Processing Error Alarm"} " ""Container k8s_grafana_grafana-59768df649-n6x6x_cee-dnrce301_a4ff5711-0e20-4dd4-ae7f-47296c334930_878 of pod grafana-59768df649-n6x6x in namespace cee-dnrce301 has been restarted."" InService Major NETX

15:53 PCF_k8s-pod-crashing-loop " "Processing Error Alarm"} " "Pod cee-dnrce301/grafana-59768df649-n6x6x (grafana) is restarting 1.03 times / 5 minutes." InService Critical NETX

Solution de contournement

Arrêt CEE

Exécutez ces commandes à partir de CEE afin de désactiver :

[pod-name-smf/podname] cee# conf

Entering configuration mode terminal

[pod-name-smf/podname] cee(config)# system mode shutdown

[pod-name-smf/podname] cee(config)# commit

Commit complete.

[pod-name-smf/podname] cee(config)# end

Attendez que le système atteigne 100 %.

Supprimer les dossiers de base de données des pods Postgres

Cochez cette case pour voir les noeuds où les pods Postgres ont frayé.

Dans cet exemple, tous les pods Postgres sont frayés sur « master-1 » :

cloud-user@dnup0300-aio-1-master-1:~$ kubectl get pods -n cee-dnrce301 -o wide | grep postgres

postgres-0 1/1 Running 0 35d 10.108.50.28 dnup0300-aio-1-master-1 <none> <none>

postgres-1 1/1 Running 0 35d 10.108.50.47 dnup0300-aio-1-master-1 <none> <none>

postgres-2 1/1 Running 0 35d 10.108.50.102 dnup0300-aio-1-master-1 <none> <none>

Il y aura des dossiers créés pour chaque Postgres dans ce chemin d'accès dans le noeud pour stocker la base de données :

/data/<cee-namespace>/postgres<0,1,2>

Supprimez ces dossiers comme indiqué :

cloud-user@dnup0300-aio-1-master-1:/data/cee-dnrce301$ sudo rm -rf data-postgres-0

cloud-user@dnup0300-aio-1-master-1:/data/cee-dnrce301$ sudo rm -rf data-postgres-1

cloud-user@dnup0300-aio-1-master-1:/data/cee-dnrce301$ sudo rm -rf data-postgres-2

Note: Il peut y avoir des cas où les dossiers "/data/

/postgres<0,1,2>"

sont créés sur différents noeuds, tels que master-1, master-2, master-3, etc.

Restaurer CEE

Connectez-vous au centre d'opérations pour restaurer CEE et exécuter les commandes CLI suivantes :

[pod-name-smf/podname] cee# conf

Entering configuration mode terminal

[pod-name-smf/podname] cee(config)# system mode running

[pod-name-smf/podname] cee(config)# commit

Commit complete.

[pod-name-smf/podname] cee(config)# end

[pod-name-smf/podname] cee# exit

Attendez que le système atteigne 100 %.

Valider les chèques

Vérifier les paramètres Kubernetes à partir du maître

Exécutez cette commande pour vérifier l'état du pod Grafana et d'autres pods :

cloud-user@pod-name-smf-master-1:~$ kubectl get pods -A -o wide | grep grafana

cloud-user@pod-name-smf-master-1:~$ kubectl get pods -A -o wide

Tous les pods doivent afficher UP et RUNNING sans redémarrage.

Vérifier que les alertes sont effacées du CEE

Exécutez cette commande pour confirmer que les alertes sont effacées de CEE :

[pod-name-smf/podname] cee# show alerts active summary | include "POD_Res|k8s_grafana"