Contents

Introduction

Prerequisites

Requirements

Componentes Utilizados

Informações de Apoio

O que é SMI?

O que é SMI CEE?

O que são os Pods da CEE?

O que é um pod Grafana?

O que é um Pod Postgres?

Problema

Solução

Desligar CEE

Remova as pastas DB para pods do Postgres

Restaurar CEE

Controlos postais

Verificar Kubernetes do mestre

Verificar se os alertas estão limpos do CEE

Introduction

Este documento descreve uma solução alternativa para recuperar um pod Grafana que é reiniciado continuamente.

Prerequisites

Requirements

A Cisco recomenda que você tenha conhecimento destes tópicos:

- Cisco Subscriber Microservices Infrastructure (SMI) Ultra Cloud Core Common Execution Environment (CEE)

- Plataforma de implantação nativa de nuvem (CNDP) de 5G ou arquitetura SMI-bare-metal (BM)

- Dockers e Kubernetes

Componentes Utilizados

As informações neste documento são baseadas nestas versões de software e 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. Se a rede estiver ativa, certifique-se de que você entenda o impacto potencial de qualquer comando.

Informações de Apoio

O que é SMI?

O Cisco SMI é uma pilha em camadas de tecnologias e padrões de nuvem que permitem aplicativos baseados em microsserviços das unidades de negócios Cisco Mobility, Cable e Broadband Network Gateway (BNG). Esses aplicativos têm funções semelhantes de gerenciamento de assinantes e requisitos semelhantes de armazenamento de dados.

Atributos:

- A pilha de nuvem de camada (tecnologias e padrões) fornece implantações de cima para baixo e acomoda a infraestrutura de nuvem atual.

- Todos os aplicativos compartilham a CEE para funções que não são de aplicação (armazenamento de dados, implantação, configuração, telemetria, alarme), o que proporciona interação e experiência consistentes para todos os pontos de contato e de integração do cliente.

- Os aplicativos e a CEE são implantados em contêineres de microsserviço e conectados com uma malha de serviço inteligente.

- Uma API exposta para implantação, configuração e gerenciamento permite a automação.

O que é SMI CEE?

- A CEE é uma solução de software que foi desenvolvida para monitorar aplicativos móveis e de cabos que são implantados na SMI. A CEE captura informações (métricas importantes) dos aplicativos de forma centralizada para que os engenheiros possam depurar e solucionar problemas.

- A CEE é o conjunto comum de ferramentas instaladas para todos os aplicativos. Ele vem equipado com um centro de operações dedicado, que fornece a CLI (Command Line Interface, interface de linha de comando) e APIs para gerenciar as ferramentas do monitor. Apenas um CEE está disponível para cada cluster.

O que são os Pods da CEE?

- Um pod é um processo executado no cluster de Kubernetes. Um pod encapsula uma unidade granular conhecida como contêiner. Um pod contém um ou vários contêineres.

- Kubernetes implanta um ou vários pods em um único nó, que pode ser uma máquina física ou virtual. Cada pod tem uma identidade discreta com um endereço IP interno e um espaço de porta. No entanto, os contêineres dentro de um pod podem compartilhar recursos de armazenamento e rede. CEE tem vários pods que têm funções únicas. Grafana e Postgress estão entre vários pods CEE.

O que é um pod Grafana?

Um pod Grafana pode se comunicar com um pod Prometheus com acesso por meio do Serviço Prometheus, que é chamado Prometheus.

O que é um Pod Postgres?

Os Postgres suportam bancos de dados SQL com redundância para armazenar alertas e painéis Grafana.

Problema

O pod Grafana é reiniciado regularmente, enquanto os pods Postgres são executados sem problemas.

Para recuperar-se, use este comando para excluir o pod Grafana manualmente:

kubectl delete pod

-n

Após exclusão, o pod Grafana é recriado e reiniciado.

Se o problema persistir, use este comando CLI para obter o alerta de exemplo de CEE para identificar o problema:

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

Exemplo:

[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

Solução

Desligar CEE

Execute estes comandos do CEE para desligar:

[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

Aguarde até que o sistema atinja 100%.

Remova as pastas DB para pods do Postgres

Verifique para ver os nós onde os pods do Postgres foram gerados.

Neste exemplo, todos os pods do Postgres são gerados em "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>

Haverá pastas criadas para cada Postgre neste caminho no nó para armazenar o DB:

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

Remova essas pastas conforme mostrado:

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: Pode haver casos em que as pastas "/data/

/postgres<0,1,2>"

são criados em nós diferentes, como master-1, master-2, master-3 e assim por diante.

Restaurar CEE

Efetue login no Ops Center para restaurar o CEE e executar estes 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

Aguarde até que o sistema atinja 100%.

Controlos postais

Verificar Kubernetes do mestre

Execute este comando para verificar o status do pod Grafana e de outros 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

Todos os pods devem exibir UP e EXECUÇÃO sem qualquer reinicialização.

Verificar se os alertas estão limpos do CEE

Execute este comando para confirmar se os alertas foram apagados da CEE:

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