Inleiding
In dit document wordt een tijdelijke oplossing beschreven voor het herstellen van een Grafana-pod die continu opnieuw wordt opgestart.
Voorwaarden
Vereisten
Cisco raadt kennis van de volgende onderwerpen aan:
- Cisco Subscriber Microservices Infrastructure (SMI) Ultra Cloud Core Common Execution Environment (CEE)
- 5G Cloud Native Deployment Platform (CNDP) of SMI-bare-metal (BM) architectuur
- Dockers en Kubernetes
Gebruikte componenten
De informatie in dit document is gebaseerd op de volgende software- en hardware-versies:
- SMI 2020.02.2.35
- Kubernetes v1.21.0
De informatie in dit document is gebaseerd op de apparaten in een specifieke laboratoriumomgeving. Alle apparaten die in dit document worden beschreven, hadden een opgeschoonde (standaard)configuratie. Als uw netwerk live is, moet u zorgen dat u de potentiële impact van elke opdracht begrijpt.
Achtergrondinformatie
Wat is het SMI?
Cisco SMI is een gelaagde stapel cloudtechnologieën en -standaarden die op microservices gebaseerde toepassingen van de bedrijfsonderdelen Cisco Mobility, Cable en Broadband Network Gateway (BNG) mogelijk maken. Deze toepassingen hebben vergelijkbare functies voor abonneebeheer en vergelijkbare vereisten voor gegevensopslag.
Attributen:
- De Layer Cloud Stack (technologieën en standaarden) biedt top-to-bottom implementaties en is geschikt voor de huidige cloudinfrastructuur.
- Alle toepassingen delen de CEE voor niet-toepassingsfuncties (gegevensopslag, implementatie, configuratie, telemetrie, alarm), wat een consistente interactie en ervaring biedt voor alle contactpunten en integratiepunten van klanten.
- Toepassingen en de CEE worden ingezet in microservicecontainers en zijn verbonden met een Intelligent Service Mesh.
- Een API voor implementatie, configuratie en beheer maakt automatisering mogelijk.
Wat is SMI CEE?
- De CEE is een softwareoplossing die is ontwikkeld om mobiele en kabeltoepassingen die op de SMI worden geïmplementeerd, te bewaken. De CEE vangt informatie (key metrics) uit de applicaties op een gecentraliseerde manier voor ingenieurs om te debuggen en problemen op te lossen.
- De CEE is de gemeenschappelijke set van tools die zijn geïnstalleerd voor alle toepassingen. Het wordt geleverd met een speciaal Ops Center, dat de Command Line Interface (CLI) en API's biedt om de monitortools te beheren. Voor elk cluster is slechts één CEE beschikbaar.
Wat zijn CEE Pods?
- Een pod is een proces dat draait op je Kubernetes cluster. Een pod bevat een korrelige eenheid die bekend staat als een container. Een pod bevat één of meerdere containers.
- Kubernetes implementeert één of meerdere pods op één node, wat een fysieke of virtuele machine kan zijn. Elke pod heeft een discrete identiteit met een intern IP-adres en poortruimte. De containers in een pod kunnen echter opslag- en netwerkbronnen delen. CEE heeft een aantal pods die unieke functies hebben. Grafana en Postgress behoren tot verschillende CEE-pods.
Wat is een Grafana Pod?
Een Grafana-peul kan communiceren met een Prometheus-peul met toegang via de Prometheus-dienst, die Prometheus heet.
Wat is een Postgres Pod?
Postgres ondersteunt SQL-databases met redundantie om waarschuwingen en Grafana-dashboards op te slaan.
Probleem
De Grafana pod start regelmatig opnieuw op, terwijl de Postgres pods zonder problemen draaien.
Gebruik deze opdracht om de Grafana-pod handmatig te verwijderen om deze te herstellen:
kubectl delete pod <grafana_pod_name> -n <cee_namespace
Na verwijdering wordt de Grafana-pod opnieuw gemaakt en opnieuw gestart.
Als het probleem zich blijft voordoen, gebruikt u deze CLI-opdracht om de voorbeeldwaarschuwing van CEE op te halen om het probleem te identificeren:
[pod-name-smf/podname] cee# show alerts active summary | include "POD_Res|k8s_grafana"
Voorbeeld:
[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
Tijdelijke oplossing
Shutdown CEE
Voer deze opdrachten uit vanuit CEE om af te sluiten:
[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
Wacht tot het systeem 100% bereikt.
De DB-mappen voor Postgres Pods verwijderen
Controleer de knooppunten waar de Postgres-peulen zijn voortgekomen.
In dit voorbeeld worden alle Postgres-pods voortgebracht op "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>
Er worden mappen gemaakt voor elke Postgres in dit pad in de node om DB op te slaan:
/data/<cee-namespace>/postgres<0,1,2>
Verwijder deze mappen zoals getoond:
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
Opmerking: Er kunnen gevallen zijn waarin de "/data//postgres<0,1,2>" mappen op verschillende knooppunten worden gemaakt, zoals master-1, master-2, master-3, enzovoort.
CEE herstellen
Meld u aan bij het Ops Center om de CEE te herstellen en de volgende CLI-opdrachten uit te voeren:
[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
Wacht tot het systeem 100% bereikt.
Controles achteraf
Kubernetes verifiëren bij de master
Voer deze opdracht uit om de status van de Grafana-pod en andere pods te controleren:
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
Alle pods moeten UP and RUNNING weergeven zonder opnieuw te starten.
Controleren of waarschuwingen uit CEE zijn gewist
Voer deze opdracht uit om te bevestigen dat de waarschuwingen zijn gewist van CEE:
[pod-name-smf/podname] cee# show alerts active summary | include "POD_Res|k8s_grafana"