Introducción
Este documento describe una solución temporal para recuperar un grupo de dispositivos Grafana que se reinicia continuamente.
Prerequisites
Requirements
Cisco recomienda que tenga conocimiento sobre estos temas:
- Entorno de ejecución común (CEE) Ultra Cloud Core de Cisco Subscriber Microservices Infrastructure (SMI)
- Plataforma de implementación nativa en la nube (CNDP) 5G o arquitectura 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.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 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 capas de estándares y tecnologías de nube que permiten utilizar aplicaciones basadas en microservicios desde las unidades empresariales de 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 capa (tecnologías y estándares) proporciona implementaciones de arriba a abajo y se adapta a las infraestructuras de nube actuales.
- Todas las aplicaciones comparten 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 de los clientes.
- Las aplicaciones y 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 desarrollada para supervisar las aplicaciones móviles y de cable que se implementan en SMI. La CEE captura información (métricas clave) de las aplicaciones de forma centralizada para que los ingenieros puedan depurar y solucionar problemas.
- CEE es el conjunto común de herramientas que se instalan para todas las aplicaciones. Incluye un centro de operaciones dedicado, que proporciona la interfaz de línea de comandos (CLI) y API para administrar las herramientas de supervisión. Sólo hay un CEE disponible para cada clúster.
¿Qué son los dispositivos CEE?
- Un grupo de dispositivos 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 discreta con una dirección IP interna y un espacio de puerto. Sin embargo, los contenedores dentro de un grupo de dispositivos pueden compartir recursos de almacenamiento y de red. CEE tiene una serie de grupos de dispositivos que tienen funciones únicas. Grafana y Postgress están entre varios grupos de Europa Central y Oriental.
¿Qué es un Grafana Pod?
Un grupo de Grafana puede comunicarse con un grupo de Prometheus con acceso a través del servicio Prometheus, que se llama Prometheus.
¿Qué es un poste Postgres?
Postgres admite bases de datos SQL con redundancia para almacenar alertas y paneles Grafana.
Problema
El Grafana pod se reinicia regularmente, mientras que las Pods Postgres corren sin problemas.
Para recuperarse, utilice este comando para eliminar manualmente el grupo de dispositivos Grafana:
kubectl delete pod
-n
Tras la eliminación, se vuelve a crear y reiniciar el grupo de dispositivos Grafana.
Si el problema persiste, utilice este comando CLI para obtener la alerta de ejemplo 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
Cerrar 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 los grupos de posturas
Verifique para ver los nodos en los que se han generado los pods de Postgres.
En este ejemplo, todos los grupos de dispositivos 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 Postal de esta ruta en el nodo para almacenar la base de datos:
/data/<cee-namespace>/postgres<0,1,2>
Quite esas carpetas 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: Podría haber casos en los que las carpetas "/data/
/postgres<0,1,2>"
se crean en diferentes nodos, como master-1, master-2, master-3, etc.
Restaurar CEE
Inicie sesión en el Centro de operaciones para restaurar CEE y ejecute estos comandos 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%.
Comprobaciones posteriores
Verificar Kubernetes desde el Maestro
Ejecute este comando para verificar el estado de Grafana pod 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
Todos los grupos de dispositivos deben mostrar UP y RUNNING sin reinicios.
Verificar que las alertas se borren 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"