Inleiding
Dit document beschrijft herstelstappen wanneer de po's van Cisco Smart Install (SMI) in de status die niet klaar is vanwege het Kubernetes-bug https://github.com/kubernetes/kubernetes/issues/82346.
Probleem
Nadat site-isolatie is geactiveerd, heeft geconvergeerde Ethernet (CEE) de Processing Error Alarm in de CEE gemeld. De status van het systeem is minder dan 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
Oplossing
De locatieisolatie is een trigger voor de bug https://github.com/kubernetes/kubernetes/issues/82346. De workround om deze pods in Ready status te hebben is om de aangetaste poden opnieuw te starten. De oplossing is opgenomen in komende CEE-releases.
Eerste POD- en systeemverificatie
Meld u aan bij CEE CLI en controleer de systeemstatus.
ssh -p 2024 admin@`kubectl get svc -A| grep " ops-center-cee" | awk '{print $4}'`
show alerts active
show system status
Herstart van de aangetaste peilingen
Meld u aan bij het primaire knooppunt. Start deze opdrachten op het primaire knooppunt. En identificeer daemonsets en replica sets die niet alle leden in Klaar staat hebben.
kubectl get daemonsets -A
kubectl get rs -A | grep -v '0 0 0'
Kopieer en plak deze opdrachten in de notatie en vervang alle cee-xyz, met de lmoe-ruimte op de 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
Voer de opdrachten uit en verzamel de resulterende uitvoer. In het resultaat identificeert uitvoer de peuzennamen met de corresponderende naamruimte die een herstart vereist.
Start alle getroffen peden uit de lijst die eerder zijn verkregen wanneer u deze opdrachten geeft (vervang dienovereenkomstig po-naam en naamruimte).
kubectl delete pods core-retriever-abcde -n cee-xyz
kubectl delete pods core-retriever-abcde -n cee-xyz
…
Controleer dat de pods zonder problemen in bedrijf zijn.
kubeclt get pods -A
Controleer de pods- en systeemstatus na het opnieuw opstarten
Opdrachten uitvoeren:
kubectl get daemonsets -A
kubectl get rs -A | grep -v '0 0 0'
Bevestig dat daemonsters en replica sets alle leden in Klaar staat tonen.
Meld u aan bij CEE CLI en bevestig dat geen actieve waarschuwingen en systeemstatus ten minste 100% moeten zijn.
ssh -p 2024 admin@`kubectl get svc -A| grep " ops-center-cee" | awk '{print $4}'`
show alerts active
show system status