Contenu

Introduction

Problème

Solution

Vérification initiale du module et du système

Redémarrage des pods affectés

Vérifier les pods et l'état du système après le redémarrage

Introduction

Ce document décrit les étapes de récupération lorsque le pod Cisco Smart Install (SMI) passe à l'état Non prêt en raison du bogue https://github.com/kubernetes/kubernetes/issues/82346 de Kubernetes.

Problème

Après l'isolation du site, Converged Ethernet (CEE) a signalé l'alarme d'erreur de traitement dans le CEE. L'état du système prêt est inférieur à 100 %.

[site1app/pod1] cee# show alerts active

alerts active k8s-deployment-replica-mismatch f89d8d09389c

state active

severity critical

type "Processing Error Alarm"

startsAt 2021-05-27T08:38:58.703Z

source site1app-smi-cluster-policy-oam2

labels [ "component: kube-state-metrics" "deployment: prometheus-scrapeconfigs-synch" "exported_namespace: cee-pod1" "instance: 192.0.2.37:8080" "job: kubernetes-pods" "namespace: cee-pod1" "pod: kube-state-metrics-6c476f7494-tqkrc" "pod_template_hash: 6c476f7494" "release: cee-pod1-cnat-monitoring" ]

annotations [ "summary: Deployment cee-pod1/prometheus-scrapeconfigs-synch has not matched the expected number of replicas for longer than 2 minutes." ]

[site1app/pod1] cee# show system status

system status deployed true

system status percent-ready 92.68

ubuntu@site1app-smi-cluster-policy-mas01:~$ kubectl get rs -n cee-pod1 | grep scrape

NAME DESIRED CURRENT READY AGE

prometheus-scrapeconfigs-synch-ccd454f76 1 1 0 395d

prometheus-scrapeconfigs-synch-f5544b4f8 0 0 0 408d

Solution

L'isolation du site est un déclencheur du bogue https://github.com/kubernetes/kubernetes/issues/82346. La solution de contournement pour que ces pods soient à l'état Prêt consiste à redémarrer les pods affectés. La correction est incluse dans les prochaines versions de CEE.

Vérification initiale du module et du système

Connectez-vous à l'interface de ligne de commande CEE et vérifiez l'état du système.

ssh -p 2024 admin@`kubectl get svc -A| grep " ops-center-cee" | awk '{print $4}'`

show alerts active

show system status

Redémarrage des pods affectés

Connectez-vous au noeud principal, sur le noeud principal, exécutez ces commandes. Et identifiez les jeux de démons et de réplicas qui n'ont pas tous les membres à l'état Prêt.

kubectl get daemonsets -A

kubectl get rs -A | grep -v '0 0 0'

Copiez et collez ces commandes dans le bloc-notes et remplacez tous les cee-xyz par l'espace de noms cee sur le site.

kubectl describe pods core-retriever -n cee-xyz | egrep "^Name:|False" | grep -B1 False

kubectl describe pods calico-node -n kube-system | egrep "^Name:|False" | grep -B1 False

kubectl describe pods csi-cinder-nodeplugin -n kube-system | egrep "^Name:|False" | grep -B1 False

kubectl describe pods maintainer -n kube-system | egrep "^Name:|False" | grep -B1 False

kubectl describe pods kube-proxy -n kube-system | egrep "^Name:|False" | grep -B1 False

kubectl describe pods path-provisioner -n cee-xyz | egrep "^Name:|False" | grep -B1 False

kubectl describe pods logs-retriever -n cee-xyz | egrep "^Name:|False" | grep -B1 False

kubectl describe pods node-exporter -n cee-xyz | egrep "^Name:|False" | grep -B1 False

kubectl describe pods keepalived -n smi-vips| egrep "^Name:|False" | grep -B1 False

kubectl describe pods prometheus-scrapeconfigs-synch -n cee-xyz | egrep "^Name:|False" | grep -B1 False

Exécutez les commandes et collectez le résultat. Dans le résultat, la sortie identifie les noms pod avec l'espace de noms correspondant qui nécessitent un redémarrage.

Redémarrez tous les pods affectés de la liste obtenue précédemment lorsque vous émettez ces commandes (remplacez le nom pod et l'espace de noms en conséquence).

kubectl delete pods core-retriever-abcde -n cee-xyz

kubectl delete pods core-retriever-abcde -n cee-xyz

…

Vérifiez que les pods fonctionnent sans problème.

kubeclt get pods -A

Vérifier les pods et l'état du système après le redémarrage

Exécuter les commandes :

kubectl get daemonsets -A

kubectl get rs -A | grep -v '0 0 0'

Vérifiez que les jeux de démons et de réplicas affichent tous les membres à l'état Prêt.

Connectez-vous à l'interface de ligne de commande CEE et confirmez qu'aucune alerte active et l'état du système ne doivent être égaux à 100 %.

ssh -p 2024 admin@`kubectl get svc -A| grep " ops-center-cee" | awk '{print $4}'`

show alerts active

show system status