Introducción
Este documento describe una solución alternativa para recuperar un grupo de dispositivos Grafana que se reinicia continuamente.
Prerequisites
Requirements
Cisco recomienda que tenga conocimiento sobre estos temas:
- Cisco Subscriber Microservices Infrastructure (SMI) Ultra Cloud Core Common Execution Environment (CEE)
- Arquitectura 5G Cloud Native Deployment Platform (CNDP) o SMI-bare-metal (BM)
- Dockers y Kubernetes
Componentes Utilizados
La información que contiene este documento se basa en las siguientes versiones de software y hardware.
- SMI 2020.2.2.35
- Kubernetes v1.21.0
La información que contiene este documento se creó a partir de los dispositivos en un ambiente de laboratorio específico. Todos los dispositivos que se utilizan en este documento se pusieron en funcionamiento con una configuración verificada (predeterminada). Si tiene una red en vivo, asegúrese de entender el posible impacto de cualquier comando.
Antecedentes
¿Qué es SMI?
Cisco SMI es una pila por niveles de tecnologías y estándares de nube que permiten el uso de aplicaciones basadas en microservicios de las unidades empresariales Cisco Mobility, Cable y Broadband Network Gateway (BNG). Estas aplicaciones tienen funciones de administración de suscriptores similares y requisitos de almacenamiento de datos similares.
Atributos:
- La pila de nube de capas (tecnologías y estándares) proporciona implementaciones de arriba a abajo y se adapta a la infraestructura de nube actual.
- Todas las aplicaciones comparten la CEE para funciones que no son de aplicación (almacenamiento de datos, implementación, configuración, telemetría, alarma), lo que proporciona una interacción y experiencia uniformes para todos los puntos de contacto y puntos de integración del cliente.
- Las aplicaciones y la CEE se implementan en contenedores de microservicios y se conectan con una malla de servicio inteligente.
- Una API expuesta para la implementación, configuración y gestión permite la automatización.
¿Qué es SMI CEE?
- CEE es una solución de software que se desarrolló para supervisar las aplicaciones móviles y por cable que se implementan en el SMI. CEE recopila información (métricas clave) de las aplicaciones de forma centralizada para que los ingenieros puedan depurar y solucionar los problemas.
- La CEE es el conjunto común de herramientas que se instalan para todas las aplicaciones. Viene equipado con un centro de operaciones dedicado, que proporciona la interfaz de línea de comandos (CLI) y las API para administrar las herramientas de supervisión. Solo hay una CEE disponible para cada clúster.
¿Qué son los dispositivos CEE?
- Una vaina es un proceso que se ejecuta en su clúster de Kubernetes. Un grupo de dispositivos encapsula una unidad granular que se conoce como contenedor. Un grupo de dispositivos contiene uno o varios contenedores.
- Kubernetes implementa uno o varios grupos de dispositivos en un único nodo, que puede ser una máquina física o virtual. Cada grupo de dispositivos tiene una identidad independiente con una dirección IP interna y espacio de puertos. Sin embargo, los contenedores de un grupo de dispositivos pueden compartir recursos de almacenamiento y de red. CEE tiene una serie de vainas que tienen funciones únicas. Grafana y Postgress se encuentran entre varias vainas CEE.
¿Qué es un Grafana Pod?
Una cápsula Grafana puede comunicarse con una cápsula Prometeo con acceso a través del Servicio Prometeo, que se llama Prometeo.
¿Qué es un pod de Postgres?
Postgres soporta bases de datos SQL con redundancia para almacenar alertas y paneles Grafana.
Problema
La vaina Grafana se reinicia regularmente, mientras que las vainas Postgres se ejecutan sin problemas.
Para recuperarse, utilice este comando para eliminar manualmente el grupo de dispositivos Grafana:
kubectl delete pod <grafana_pod_name> -n <cee_namespace
Tras la eliminación, el grupo de dispositivos Grafana se vuelve a crear y se reinicia.
Si el problema continúa, utilice este comando CLI para obtener la alerta de muestra de CEE para identificar el problema:
[pod-name-smf/podname] cee# show alerts active summary | include "POD_Res|k8s_grafana"
Ejemplo:
[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
Solución Aternativa
Apagar CEE
Ejecute estos comandos desde CEE para cerrar:
[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
Espere a que el sistema alcance el 100%.
Eliminar las carpetas de la base de datos para Pods Postgres
Verifique para ver los nodos donde las vainas de Postgres se originaron.
En este ejemplo, todas las vainas de Postgres se generan en "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>
Se crearán carpetas para cada Postgres en esta ruta en el nodo para almacenar la base de datos:
/data/<cee-namespace>/postgres<0,1,2>
Elimine las carpetas tal y como se muestra:
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
Nota: Puede haber casos en los que las carpetas "/data//postgres<0,1,2>" se crean en nodos diferentes, como master-1, master-2, master-3, etc.
Restaurar CEE
Inicie sesión en el centro de operaciones para restaurar CEE y ejecutar estos comandos de CLI:
[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
Espere a que el sistema alcance el 100%.
Registrar comprobaciones
Verificar Kubernetes desde el Maestro
Ejecute este comando para verificar el estado del grupo de dispositivos Grafana y otros grupos de dispositivos:
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
Todas las vainas deben mostrar UP y RUNNING sin ningún reinicio.
Comprobar que se han borrado las alertas de CEE
Ejecute este comando para confirmar que las alertas se borran de CEE:
[pod-name-smf/podname] cee# show alerts active summary | include "POD_Res|k8s_grafana"