Sommario

Introduzione

Prerequisiti

Requisiti

Componenti usati

Premesse

Problema

Analisi

Soluzione

Introduzione

In questo documento viene descritta la procedura per la risoluzione dei problemi relativi all'avviso di memoria Path-Provisioner rilevato nella funzione di controllo dei criteri (PCF).

Prerequisiti

Requisiti

Cisco raccomanda la conoscenza dei seguenti argomenti:

- PCF

- 5G Cloud Native Deployment Platform (CNDP)

- Docker e Kubernetes

Componenti usati

Le informazioni fornite in questo documento si basano sulle seguenti versioni software e hardware:

- PCF REL_2023.01.2

- Kubernetes v1.24.6

Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.

Premesse

In questa configurazione, il CNDP ospita il PCF.

Un path provisioner, nel contesto di sistemi e infrastrutture informatici, si riferisce in genere a un componente o a uno strumento che gestisce ed esegue il provisioning di percorsi o volumi di storage per applicazioni o servizi.

Un path provisioner è spesso associato all'allocazione e alla gestione dinamica dello storage in ambienti cloud o in configurazioni containerizzate. Consente alle applicazioni o ai contenitori di richiedere volumi o percorsi di storage su richiesta, senza intervento manuale o pre-allocazione.

Un path provisioner può gestire attività quali la creazione o il montaggio di volumi di storage, la gestione delle autorizzazioni di accesso e la mappatura delle stesse a istanze di applicazioni specifiche. Astrae l'infrastruttura di storage sottostante, fornendo un'interfaccia semplificata che consente alle applicazioni di interagire con le risorse di storage.

Problema

Effettuare il login al centro operativo CEE (Common Execution Environment) e verificare che i pod di provisioning sul percorso segnalino gli allarmi OOM (Out of Memory).

Command:

cee# show alerts active summary summary

Example:

[pcf01/pcfapp] cee# show alerts active summary

NAME UID SEVERITY STARTS AT DURATION SOURCE SUMMARY

--------------------------------------------------------------------------------------------------------------------------------------------

container-memory-usag 10659b0bcae0 critical 01-22T22:59:46 path-provisioner-pxps Pod cee-pcf/path-provisioner-pxpss/k8s_path-p...

container-memory-usag b2f10b3725e7 critical 01-22T15:51:36 path-provisioner-pxps Pod cee-pcf/path-provisioner-pxpss/ uses high...

Analisi

Ogni volta che si ricevono allarmi per un elevato utilizzo della memoria su pod o contenitori di path-provisioner. Kubernetes(K8s) riavvia il pod quando raggiunge il limite massimo di memoria.

In alternativa, il pod può essere riavviato manualmente quando supera la soglia dell'80% per evitare gli allarmi della memoria elevata.

Passaggio 1. Controllare e verificare il nome del pod indicato nel riepilogo attivo e nell'output di questo comando.

Command:

cloud-user@pcf01-master-1$ kubectl get pods --all-namespaces | grep "path-provisioner"

Example:

cloud-user@pcf01-master-1:~$ kubectl get pods --all-namespaces | grep "path-provisioner"

NAMESPACE NAME READY STATUS RESTARTS AGE

cee-pcf path-provisioner-27bjx 1/1 Running 0 110d

cee-pcf path-provisioner-4mlq8 1/1 Running 0 110d

cee-pcf path-provisioner-4zvjd 1/1 Running 0 110d

cee-pcf path-provisioner-566pn 1/1 Running 0 110d

cee-pcf path-provisioner-6d2dr 1/1 Running 0 110d

cee-pcf path-provisioner-7g6l4 1/1 Running 0 110d

cee-pcf path-provisioner-8psnx 1/1 Running 0 110d

cee-pcf path-provisioner-94p9f 1/1 Running 0 110d

cee-pcf path-provisioner-bfr5w 1/1 Running 0 110d

cee-pcf path-provisioner-clpq6 1/1 Running 0 110d

cee-pcf path-provisioner-dbjft 1/1 Running 0 110d

cee-mpcf path-provisioner-dx9ts 1/1 Running 0 110d

cee-pcf path-provisioner-fx72h 1/1 Running 0 110d

cee-pcf path-provisioner-hbxgd 1/1 Running 0 110d

cee-pcf path-provisioner-k6fzc 1/1 Running 0 110d

cee-pcf path-provisioner-l4mzz 1/1 Running 0 110d

cee-pcf path-provisioner-ldxbb 1/1 Running 0 110d

cee-pcf path-provisioner-lf2xx 1/1 Running 0 110d

cee-pcf path-provisioner-lxrjx 1/1 Running 0 110d

cee-pcf path-provisioner-mjhlw 1/1 Running 0 110d

cee-pcf path-provisioner-pq65p 1/1 Running 0 110d

cee-pcf path-provisioner-pxpss 1/1 Running 0 110d

cee-pcf path-provisioner-q4b7m 1/1 Running 0 110d

cee-pcf path-provisioner-qlkjb 1/1 Running 0 110d

cee-pcf path-provisioner-s2jth 1/1 Running 0 110d

cee-pcf path-provisioner-vhzhg 1/1 Running 0 110d

cee-pcf path-provisioner-wqpmr 1/1 Running 0 110d

cee-pcf path-provisioner-xj5k4 1/1 Running 0 110d

cee-pcf path-provisioner-z4h98 1/1 Running 0 110d

cloud-user@pcf01-master-1:~$

Passaggio 2. Verificare il conteggio totale dei pod di provisioning del percorso attivi.

cloud-user@pcf01-master-1:~$ kubectl get pods --all-namespaces | grep "path-provisioner" | wc -l

29

cloud-user@pcf01-master-1:~$

Soluzione

Passaggio 1. Eseguire il riavvio dei pod di path-provisioner sotto l'account di accesso allo spazio dei nomi CEE per il nodo master.

cloud-user@pcf01-master-1:~$ kubectl delete pod -n cee-pcf path-provisioner-pxpss

pod "path-provisioner-pxpss" deleted

Passaggio 2. Verificare che i baccelli di Kubernetes siano di nuovo online.

cloud-user@pcf01-master-1:~$ kubectl get pods --all-namespaces | grep "path-provisioner"

cee-pcf path-provisioner-27bjx 1/1 Running 0 110d

cee-pcf path-provisioner-4mlq8 1/1 Running 0 110d

cee-pcf path-provisioner-4zvjd 1/1 Running 0 110d

cee-pcf path-provisioner-566pn 1/1 Running 0 110d

cee-pcf path-provisioner-6d2dr 1/1 Running 0 110d

cee-pcf path-provisioner-7g6l4 1/1 Running 0 110d

cee-pcf path-provisioner-8psnx 1/1 Running 0 110d

cee-pcf path-provisioner-94p9f 1/1 Running 0 110d

cee-pcf path-provisioner-bfr5w 1/1 Running 0 110d

cee-pcf path-provisioner-clpq6 1/1 Running 0 110d

cee-pcf path-provisioner-dbjft 1/1 Running 0 110d

cee-pcf path-provisioner-dx9ts 1/1 Running 0 110d

cee-pcf path-provisioner-fx72h 1/1 Running 0 110d

cee-pcf path-provisioner-hbxgd 1/1 Running 0 110d

cee-pcf path-provisioner-k6fzc 1/1 Running 0 110d

cee-pcf path-provisioner-l4mzz 1/1 Running 0 110d

cee-pcf path-provisioner-ldxbb 1/1 Running 0 110d

cee-pcf path-provisioner-lf2xx 1/1 Running 0 110d

cee-pcf path-provisioner-lxrjx 1/1 Running 0 110d

cee-pcf path-provisioner-mjhlw 1/1 Running 0 110d

cee-pcf path-provisioner-pq65p 1/1 Running 0 110d

cee-pcf path-provisioner-pxpss 1/1 Running 0 7s

cee-pcf path-provisioner-q4b7m 1/1 Running 0 110d

cee-pcf path-provisioner-qlkjb 1/1 Running 0 110d

cee-pcf path-provisioner-s2jth 1/1 Running 0 110d

cee-pcf path-provisioner-vhzhg 1/1 Running 0 110d

cee-pcf path-provisioner-wqpmr 1/1 Running 0 110d

cee-pcf path-provisioner-xj5k4 1/1 Running 0 110d

cee-pcf path-provisioner-z4h98 1/1 Running 0 110d

cloud-user@pcf01-master-1:~$

Passaggio 3. Verificare che il conteggio totale per Active Path-Provisioner Pods sia lo stesso di prima del riavvio.

cloud-user@pcf01-master-1:~$ kubectl get pods --all-namespaces | grep "path-provisioner" | wc -l

29

cloud-user@pcf01-master-1:~$

Passaggio 4. Verificare gli avvisi attivi e assicurarsi che gli avvisi relativi al path-provisioner vengano cancellati.

[pcf01/pcfapp] cee# show alerts active summary

NAME UID SEVERITY STARTS AT SOURCE SUMMARY

-----------------------------------------------------------------------------------------------------------------

watchdog 02d125c1ba48 minor 03-29T10:48:08 System This is an alert meant to ensure that the entire a...