المحتويات

المقدمة

المشكلة

الحل

التحقق الأولي من POD والنظام

إعادة تشغيل "مجموعات توصيل الطاقة" المتأثرة

التحقق من PODS وحالة النظام بعد إعادة التشغيل

المقدمة

يصف هذا المستند خطوات الاسترداد عندما يدخل Cisco Smart Install (SMI) Pod في حالة عدم الاستعداد بسبب خطأ Kubernetes https://github.com/kubernetes/kubernetes/issues/82346.

المشكلة

بعد عزل الموقع، قامت شبكة إيثرنت المتقاربة (CEE) بالإبلاغ عن تنبيه خطأ المعالجة في شبكة إيثرنت المحسنة المجمعة (CEE). حالة الجهاز الجاهزة أقل من 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

الحل

تعد عملية عزل الموقع بمثابة مشغل للخطأ https://github.com/kubernetes/kubernetes/issues/82346. الحل البديل أن تكون هذه المسامير في حالة جاهزة هو إعادة تشغيل المسامير المصابة. يتم تضمين الإصلاح في إصدارات تقنية شبكة إيثرنت المحسنة المجمعة (CEE) القادمة.

التحقق الأولي من POD والنظام

قم بتسجيل الدخول إلى واجهة سطر الأوامر (CLI) الخاصة ب CEE وحدد حالة النظام.

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

show alerts active

show system status

إعادة تشغيل "مجموعات توصيل الطاقة" المتأثرة

قم بتسجيل الدخول إلى العقدة الأساسية، على الأساسي، قم بتشغيل هذه الأوامر. والتعرف على مجموعات الأجهزة والنسخ المتماثلة التي ليس لها جميع الأعضاء في حالة الاستعداد.

kubectl get daemonsets -A

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

انسخ هذه الأوامر ولصقها في المفكرة واستبدل جميع CEE-XYZ، بمساحة اسم CEE على الموقع.

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

قم بتنفيذ الأوامر وتجميع الإخراج الناتج. في النتيجة، يقوم الإخراج بتعريف أسماء POD بمساحة الاسم المقابلة التي تتطلب إعادة التشغيل.

قم بإعادة تشغيل كافة ملفات التعريف المتأثرة من القائمة التي تم الحصول عليها مسبقا عند إصدار هذه الأوامر (إستبدال اسم ملف التعريف ومساحة الاسم وفقا لذلك).

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

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

…

تحقق من تشغيل أجهزة PODS وتشغيلها دون أي مشكلة.

kubeclt get pods -A

التحقق من PODS وحالة النظام بعد إعادة التشغيل

تنفيذ الأوامر:

kubectl get daemonsets -A

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

تأكد من أن مجموعات الأدوات والنسخ المتماثلة تعرض جميع الأعضاء في حالة الاستعداد.

قم بتسجيل الدخول إلى واجهة سطر الأوامر (CLI) الخاصة ب CEE وتأكد من عدم وجود تنبيهات نشطة وحالة النظام بنسبة 100٪.

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

show alerts active

show system status