目录

简介

先决条件

要求

使用的组件

背景信息

什么是SMI?

什么是SMI CEE?

什么是CEE Pod?

什么是格拉法纳荚？

什么是Postgres Pod?

问题

解决方法

关闭CEE

删除Postgres Pod的数据库文件夹

恢复CEE

过帐检查

从主设备验证Kubernetes

验证警报是否已从CEE清除

简介

本文档介绍恢复持续重新启动的Grafana Pod的解决方法。

先决条件

要求

Cisco 建议您了解以下主题：

- 思科用户微服务基础设施(SMI)超云核心通用执行环境(CEE)

- 5G云本地部署平台(CNDP)或SMI裸机(BM)架构

- 多克斯和库伯内特斯

使用的组件

本文档中的信息基于以下软件和硬件版本：

- SMI 2020.02.2.35

- 库贝内特斯v1.21.0

本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始（默认）配置。如果您的网络处于活动状态，请确保您了解所有命令的潜在影响。

背景信息

什么是SMI?

思科SMI是云技术和标准的分层堆栈，支持来自思科移动、电缆和宽带网络网关(BNG)业务单元的基于微服务的应用。这些应用具有类似的用户管理功能和类似的datastore要求。

Attributes:

- 层云堆栈（技术和标准）提供自上而下的部署并适应当前云基础设施。

- 所有应用共享中东欧非应用功能（数据存储、部署、配置、遥测、报警），为所有客户触点和集成点提供一致的交互和体验。

- 应用和CEE部署在微服务容器中，并与智能服务网状网连接。

- 用于部署、配置和管理的外露API可实现自动化。

什么是SMI CEE?

- CEE是一种软件解决方案，旨在监控部署在SMI上的移动和电缆应用。CEE以集中方式从应用中获取信息（关键指标），供工程师调试和故障排除。

- CEE是为所有应用安装的通用工具集。它配备了专用的运营中心，该中心提供命令行界面(CLI)和API来管理监控工具。每个集群只有一个CEE可用。

什么是CEE Pod?

- Pod是在Kubernetes群集上运行的进程。Pod封装称为容器的粒度单元。Pod包含一个或多个容器。

- Kubernetes在单个节点上部署一个或多个Pod，该节点可以是物理或虚拟机。每个Pod都有一个离散身份，其中包含内部IP地址和端口空间。但是，Pod中的容器可以共享存储和网络资源。CEE拥有许多具有独特功能的Pod。Grafana和Postgress是几个中东欧地区的伙伴。

什么是格拉法纳荚？

Grafana Pod可以通过名为Prometheus的Prometheus服务与Prometheus Pod通信，并可以访问。

什么是Postgres Pod?

Postgres支持SQL数据库，该数据库具有存储警报和Grafana控制面板的冗余。

问题

Grafana Pod定期重新启动，而Postgres Pod运行时没有问题。

要恢复，请使用以下命令手动删除Grafana Pod:

kubectl delete pod

-n

删除后，将重新创建并重新启动Grafana Pod。

如果问题仍然存在，请使用此CLI命令从CEE获取示例警报，以确定问题：

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

示例：

[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

解决方法

关闭CEE

从CEE运行以下命令以关闭：

[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

等待系统达到100%。

删除Postgres Pod的数据库文件夹

查看Postgres Pod所衍生的节点。

在本例中，所有Postgres Pod都是在“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>

在节点中，将为此路径中的每个Postgres创建文件夹以存储数据库：

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

删除这些文件夹，如下所示：

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

注意：有时文件夹 "/data/

/postgres<0,1,2>"

在不同节点上创建，如master-1、master-2、master-3等。

恢复CEE

登录运营中心以恢复CEE并执行以下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

等待系统达到100%。

过帐检查

从主设备验证Kubernetes

运行以下命令以检查Grafana Pod和其他Pod的状态：

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

所有Pod都应显示UP和RUNNING，而不重新启动。

验证警报是否已从CEE清除

运行以下命令，确认警报已从CEE清除：

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