المحتويات

المقدمة

المتطلبات الأساسية

المتطلبات

المكونات المستخدمة

معلومات أساسية

ما هي SMI؟

ما المقصود ب SMI-BM أو CNDP؟

ما هو برنامج SMI Cluster Manager؟

ما هو "منشر نظام المجموعة SMI"؟

المشكلة

إجراءات الصيانة

المقدمة

يصف هذا المستند إجراء إجراء الصيانة (إستبدال الأجهزة أو صيانتها) مثل ترقية البرامج الثابتة (FW) وما إلى ذلك، في مجموعة الأجهزة (POD) الخاصة بالنظام الأساسي للنشر الأصلي عبر الشبكة (SMI) لمشتركي الجيل الخامس.

المتطلبات الأساسية

المتطلبات

توصي Cisco بأن تكون لديك معرفة بالمواضيع التالية:

- Cisco SMI

- بنية 5G CNDPA أو SMI-Bare-metal (BM)

- محطات الإرساء والكابلات

- خوادم Cisco UCS من السلسلة C220

المكونات المستخدمة

تستند المعلومات الواردة في هذا المستند إلى إصدارات البرامج والمكونات المادية التالية:

- SMI 2020.02.2.35

- Kubernetes v1.21.0

- Cisco UCS C220-M5SX-CM

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

معلومات أساسية

ما هي SMI؟

Cisco SMI هي مجموعة طبقات من تقنيات ومعايير السحابة التي تمكن التطبيقات المستندة إلى الخدمات الصغيرة من وحدات العمل من Cisco Mobility، و Cable، و BNG - وجميعها تحتوي على وظائف إدارة مشتركة متشابهة ومتطلبات مشابهة لمحول البيانات.

السمات:

- مجموعة شبكات الطبقة (التقنيات والمعايير) لتوفير عمليات النشر من أعلى إلى أسفل وكذلك إستيعاب البنية الأساسية الحالية لشبكات العملاء.

- بيئة التنفيذ المشتركة المشتركة التي تشترك فيها جميع التطبيقات للوظائف غير التطبيقية (تخزين البيانات، النشر، التكوين، القياس عن بعد، الإنذار). وهذا يوفر تفاعلا وخبرة متناسقين لجميع نقاط اتصال العملاء ونقاط الدمج.

- يتم نشر التطبيقات وبيئة التنفيذ المشتركة في حاويات الخدمة الدقيقة ويتم توصيلها بشبكة خدمة ذكية.

- واجهة برمجة تطبيقات مكشوفة للنشر والتهيئة والإدارة، لتمكين التشغيل التلقائي.

ما المقصود ب SMI-BM أو CNDP؟

Cisco SMI-Bare Metal أو CNDP هو نظام أساسي منحدر متعرج يوفر البنية الأساسية لنشر وظائف الشبكة الظاهرية (VNF) والوظائف الأصلية للسحابة (CNFs)، مما يتيح إمكانية التنقل من Cisco والكبل ووحدات أعمال BNG.

السمات:

- طراز خال من المعادن يقلل من الأعباء الإضافية المتعلقة بالشخصيات المهمة

- أداء محسن

- المزيد من النوى للتطبيق

- تنفيذ أسرع للتطبيقات

- سير عمل النشر المؤتمت؛ مدمج مع NSO CFP

- مكدس مخصص لنشر قوائم التحكم في الشبكة (NF) من Cisco 5G

- دليل مبسط للأمر والنشر

ما هو برنامج SMI Cluster Manager؟

مدير نظام المجموعة هو عبارة عن نظام مجموعة من 2 عقد من رسائل تنشيط الاتصال يتم إستخدامه كنقطة أولية لكل من مستوى التحكم ونشر مجموعة مستوى المستخدم. وهو يشغل مجموعة Kubernetes أحادية العقدة ومجموعة من PODs المسؤولة عن إعداد نظام المجموعة بالكامل. مدير نظام المجموعة الأساسي فقط نشط بينما تتولى الإدارة الثانوية فقط في حالة حدوث عطل أو تم إسقاطها يدويا لإجراء الصيانة.

ما هو "منشر نظام المجموعة SMI"؟

SMI Deployment هي خدمة في "إدارة المجموعة" يمكنها إنشاء أجهزة افتراضية (VM) وتخصيص نظام تشغيل المضيف وإنشاء مجموعة K8s وإطلاق K8s Master وتكوين نظام المجموعة وتشغيل التطبيقات، إلخ.

المشكلة

تحتاج صيانة الأجهزة مثل عطل الأجهزة أو ترقية البرامج/البرامج إلى وقت توقف عن العمل في الخوادم. ما هي الإجراءات التي يجب اتباعها لإجراء الصيانة في POD. كيفية إيقاف الخدمات بشكل سلس لتجنب التوقف عن العمل غير المرغوب فيه في التطبيق.

إجراءات الصيانة

الحصول على مدير نظام المجموعة VIP، Kubernetes الرئيسي VIP (للتطبيق المعني)، UCS CIMC IP، UCS CIMC Name، واسم مضيف الخادم (اسم مضيف نظام التشغيل) الذي سيتم إجراء الصيانة فيه.

يتوافق تسجيل الدخول إلى مدير Kubernetes مع الخدمة وتأكد من أن جميع نقاط الوصول في حالة التشغيل.

نموذج الإخراج:

cloud-user@pod-name-smf-data-master-1:~$ kubectl get pods -A | grep -v Running

NAMESPACE NAME READY STATUS RESTARTS AGE

2. قم بتسجيل الدخول إلى مركز عمليات نشر قطاعات SMI (فيما يلي الإجراء الخاص بالعثور على IP لمركز OPS).

kubectl get svc -n $(kubectl get ns | grep -i smi-cm | awk '{print $1}') | grep ^ops-center

(Here "smi-cm" is the namespace in which cluster deployer is hosted and the "ops-center" is the starting name of the cluster deployer service name which is "ops-center-smi-cluster-deployer" these names can vary based on the environment setup)

نموذج الإخراج:

cloud-user@tp-tam-deployer-cm-primary:~$ kubectl get svc -n $(kubectl get ns | grep smi-cm | awk '{print $1}') | grep ^ops-center

ops-center-smi-cluster-deployer ClusterIP 10.100.x.x <none> 8008/TCP,2024/TCP,2022/TCP,7681/TCP,3000/TCP,3001/TCP 154d

3. تسجيل الدخول باستخدام هذا الأمر.

ssh -p 2024 admin@10.100.x.x

(2024 is the port used to connect to cluster deployer)

4. تحقق من توافق الخدمات مع التطبيق باستخدام الأمر show clusters.

نموذج الإخراج:

Welcome to the Cisco SMI Cluster Deployer on tp-tam-deployer-cm-primary

Copyright © 2016-2020, Cisco Systems, Inc.

All rights reserved.

admin connected from 192.x.x.x using ssh on ops-center-smi-cluster-deployer-5cdc5f94db-bnxqt

[tp-tam-deployer-cm-primary] SMI Cluster Deployer# show clusters

LOCK TO

NAME VERSION

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

pod-name-smf-data -

pod-name-smf-ims -

pod1-name-smf-data -

pod1-name-smf-ims -

pod2-name-aio-1 -

pod2-name-aio-2 -

pod2-name-upf-data -

pod2-name-upf-ims -

5. قم بتصفية العقدة التي تقوم فيها بإجراء الصيانة باستخدام هذه الأوامر واكتب نعم (سيقوم هذا بإخلاء نقاط الوصول (PODs) بسهولة وإعادة التشغيل في العقد الأخرى حسب الحاجة).

نموذج الإخراج:

[cluster-name-cm-1] SMI Cluster Deployer# clusters cluster-name  nodes worker-11 actions sync drain remove-node true

This will run drain on the node, disrupting pods running on the node. Are you sure? [no,yes] yes

message accepted

6. انقل العقدة إلى وضع الصيانة باستخدام هذه الأوامر (قد يستغرق ذلك 30 دقيقة كحد أقصى).

نموذج الإخراج:

[cluster-name-cm-1] SMI Cluster Deployer# config

Entering configuration mode terminal

[cluster-name-cm-1] SMI Cluster Deployer(config)# clusters cluster-name

[cluster-name-cm-1] SMI Cluster Deployer(config-clusters-cluster-name)# nodes worker-11

[cluster-name-cm-1] SMI Cluster Deployer(config-nodes-worker1)# maintenance true

[cluster-name-cm-1] SMI Cluster Deployer(config-nodes-worker1)# commit

Commit complete.

[cluster-name-cm-1] SMI Cluster Deployer(config-nodes-worker1)# end

7. تحقق من السجلات لمعرفة الحالة.

clusters cluster-name nodes worker-11 actions sync logs

(In this we are dealing with the worker-11 node)

نموذج الإخراج (مقتطع):

logs 2022-01-03 06:04:02.755 DEBUG cluster_sync.cluster-name.worker-11: Cluster name: cluster-name

2022-01-03 06:04:02.755 DEBUG cluster_sync.cluster-name.worker-11: Node name: worker-11

2022-01-03 06:04:02.755 DEBUG cluster_sync.cluster-name.worker-11: debug: false

2022-01-03 06:04:02.755 DEBUG cluster_sync.cluster-name.worker-11: remove_node: false

PLAY [Check required variables] ************************************************

TASK [Gathering Facts] *********************************************************

Monday 03 January 2022  06:04:06 +0000 (0:00:00.014)       0:00:00.014 ********

ok: [worker-11]

ok: [worker-13]

ok: [worker-11]

ok: [worker-16]

ok: [worker-18]

ok: [worker-17]

ok: [worker-12]

ok: [worker-10]

ok: [worker-19]

ok: [worker-2]

ok: [master-1]

ok: [worker-11]

ok: [worker-15]

ok: [master-3]

ok: [worker-20]

ok: [worker-22]

ok: [worker-21]

....

TASK [Check node_name] *********************************************************

Monday 03 January 2022  06:04:13 +0000 (0:00:07.086)       0:00:07.101 ********

skipping: [master-1]

skipping: [master-2]

skipping: [master-3]

skipping: [worker-1]

skipping: [worker-10]

skipping: [worker-11]

skipping: [worker-12]

skipping: [worker-13]

skipping: [worker-11]

skipping: [worker-15]

skipping: [worker-16]

skipping: [worker-17]

skipping: [worker-18]

skipping: [worker-19]

skipping: [worker-2]

skipping: [worker-20]

skipping: [worker-21]

skipping: [worker-22]

.....

PLAY [Wait for ready and ensure uncordoned] ************************************

TASK [Cordon and drain node] ***************************************************

Monday 03 January 2022  06:04:15 +0000 (0:00:01.116)       0:00:08.217 ********

skipping: [master-1]

skipping: [master-2]

skipping: [master-3]

skipping: [worker-11]

skipping: [worker-10]

skipping: [worker-12]

skipping: [worker-13]

skipping: [worker-1]

skipping: [worker-15]

skipping: [worker-16]

skipping: [worker-17]

skipping: [worker-18]

skipping: [worker-19]

skipping: [worker-2]

skipping: [worker-20]

skipping: [worker-21]

skipping: [worker-22]

.....

TASK [upgrade/cordon : Cordon/Drain/Delete node] *******************************

Monday 03 January 2022  06:04:16 +0000 (0:00:01.430)       0:00:09.647 ********

changed: [worker-11 -> 10.192.x.x]

PLAY RECAP *********************************************************************

master-1                   : ok=1    changed=0    unreachable=0    failed=0    skipped=2    rescued=0    ignored=0

master-2                   : ok=1    changed=0    unreachable=0    failed=0    skipped=2    rescued=0    ignored=0

master-3                   : ok=1    changed=0    unreachable=0    failed=0    skipped=2    rescued=0    ignored=0

worker-11                   : ok=1    changed=0    unreachable=0    failed=0    skipped=2    rescued=0    ignored=0

worker-10                  : ok=1    changed=0    unreachable=0    failed=0    skipped=2    rescued=0    ignored=0

worker-11                  : ok=2    changed=1    unreachable=0    failed=0    skipped=1    rescued=0    ignored=0

worker-12                  : ok=1    changed=0    unreachable=0    failed=0    skipped=2    rescued=0    ignored=0

worker-13                  : ok=1    changed=0    unreachable=0    failed=0    skipped=2    rescued=0    ignored=0

worker-1                  : ok=1    changed=0    unreachable=0    failed=0    skipped=2    rescued=0    ignored=0

worker-15                  : ok=1    changed=0    unreachable=0    failed=0    skipped=2    rescued=0    ignored=0

worker-16                  : ok=1    changed=0    unreachable=0    failed=0    skipped=2    rescued=0    ignored=0

worker-17                  : ok=1    changed=0    unreachable=0    failed=0    skipped=2    rescued=0    ignored=0

worker-18                  : ok=1    changed=0    unreachable=0    failed=0    skipped=2    rescued=0    ignored=0

worker-19                  : ok=1    changed=0    unreachable=0    failed=0    skipped=2    rescued=0    ignored=0

worker-2                   : ok=1    changed=0    unreachable=0    failed=0    skipped=2    rescued=0    ignored=0

worker-20                  : ok=1    changed=0    unreachable=0    failed=0    skipped=2    rescued=0    ignored=0

worker-21                  : ok=1    changed=0    unreachable=0    failed=0    skipped=2    rescued=0    ignored=0

worker-22                  : ok=1    changed=0    unreachable=0    failed=0    skipped=2    rescued=0    ignored=0

.....

Monday 03 January 2022  06:04:17 +0000 (0:00:01.168)       0:00:10.815 ********

===============================================================================

2022-01-03 06:04:17.957 DEBUG cluster_sync.cluster-name.worker-11: Cluster sync successful

2022-01-03 06:04:17.958 DEBUG cluster_sync.cluster-name.worker-11: Ansible sync done

2022-01-03 06:04:17.961 INFO cluster_sync.cluster-name.worker-11: _sync finished.  Opening lock

8. تحقق من العقدة الرئيسية ل Kubernetes وتأكد من تغيير حالة عقدة العامل.

نموذج الإخراج:

cloud-user@cluster-name-master-1:~$ kubectl get nodes

NAME                 STATUS                     ROLES                  AGE    VERSION

cluster-name-master-1    Ready                      control-plane,master   213d   v1.21.0

cluster-name-master-2    Ready                      control-plane,master   213d   v1.21.0

cluster-name-master-3    Ready                      control-plane,master   213d   v1.21.0

cluster-name-worker-11    Ready                      <none>                 213d   v1.21.0

cluster-name-worker-10   Ready                      <none>                 213d   v1.21.0

cluster-name-worker-11   Ready,SchedulingDisabled

213d

v1.21.0

cluster-name-worker-12   Ready                      <none>                 213d   v1.21.0

cluster-name-worker-13   Ready                      <none>                 213d   v1.21.0

cluster-name-worker-11   Ready                      <none>                 213d   v1.21.0

9. في هذه الخطوة، يجب أن تكون العقدة جاهزة للصيانة (يجب أن تكون جميع نقاط الوصول الخاصة بالتطبيق قد تم إخلاؤها باستثناء نقاط الوصول التي تتم إدارتها بواسطة Daemstartup/replicaset وما إلى ذلك والتي يمكن تجاهلها).

10. قم بإيقاف تشغيل الخادم من Cisco Integrated Management Console (CIMC) أو أي وحدة تحكم إدارية مكافئة إذا كان الخادم ينتمي إلى مورد مختلف، وقم بإجراء صيانة الأجهزة.

عندما يعود الخادم إلى الإنترنت بعد الصيانة وعندما تكون جميع عمليات الفحص الصحي خضراء، قم بإجراء هذا.

11. قم بتعيين عقدة العامل إلى الصيانة = "خطأ" لإضافتها إلى الخلف ثم قم بتشغيل مزامنة.

نموذج الإخراج:

[cluster-name-cm-1] SMI Cluster Deployer# config

Entering configuration mode terminal

[cluster-name-cm-1] SMI Cluster Deployer(config)# clusters cluster-name

[cluster-name-cm-1] SMI Cluster Deployer(config-clusters-cluster-name)# nodes worker-11

[cluster-name-cm-1] SMI Cluster Deployer(config-nodes-worker1)# maintenance false

[cluster-name-cm-1] SMI Cluster Deployer(config-nodes-worker1)# commit

Commit complete.

[cluster-name-cm-1] SMI Cluster Deployer(config-nodes-worker1)# end

12. قم بتشغيل مزامنة نظام المجموعة لإرجاع العقدة أثناء الدوران وتجهيزها للخدمة.

نموذج الإخراج (مقتطع):

[cluster-name-cm-1] SMI Cluster Deployer# clusters cluster-name nodes worker-11 actions sync run debug true

This will run sync. Are you sure? [no,yes] yes

message accepted

PLAY [Wait for ready and ensure uncordoned] ************************************

TASK [Wait for ready and ensure uncordoned] ************************************

Monday 03 January 2022  07:12:35 +0000 (0:00:01.151)       0:09:42.974 ********

skipping: [master-1] => (item=upgrade/wait-for-cluster-ready)

skipping: [master-1] => (item=upgrade/uncordon)

skipping: [master-2] => (item=upgrade/wait-for-cluster-ready)

skipping: [master-2] => (item=upgrade/uncordon)

skipping: [master-3] => (item=upgrade/wait-for-cluster-ready)

skipping: [master-3] => (item=upgrade/uncordon)

skipping: [worker-11] => (item=upgrade/wait-for-cluster-ready)

skipping: [worker-11] => (item=upgrade/uncordon)

skipping: [worker-10] => (item=upgrade/wait-for-cluster-ready)

skipping: [worker-10] => (item=upgrade/uncordon)

skipping: [worker-12] => (item=upgrade/wait-for-cluster-ready)

skipping: [worker-12] => (item=upgrade/uncordon)

skipping: [worker-13] => (item=upgrade/wait-for-cluster-ready)

skipping: [worker-13] => (item=upgrade/uncordon)

skipping: [worker-1] => (item=upgrade/wait-for-cluster-ready)

skipping: [worker-1] => (item=upgrade/uncordon)

......

skipping: [worker-3] => (item=upgrade/wait-for-cluster-ready)

skipping: [worker-3] => (item=upgrade/uncordon)

skipping: [worker-4] => (item=upgrade/wait-for-cluster-ready)

skipping: [worker-4] => (item=upgrade/uncordon)

skipping: [worker-5] => (item=upgrade/wait-for-cluster-ready)

skipping: [worker-5] => (item=upgrade/uncordon)

skipping: [worker-6] => (item=upgrade/wait-for-cluster-ready)

skipping: [worker-6] => (item=upgrade/uncordon)

skipping: [worker-7] => (item=upgrade/wait-for-cluster-ready)

skipping: [worker-7] => (item=upgrade/uncordon)

skipping: [worker-8] => (item=upgrade/wait-for-cluster-ready)

skipping: [worker-8] => (item=upgrade/uncordon)

skipping: [worker-9] => (item=upgrade/wait-for-cluster-ready)

skipping: [worker-9] => (item=upgrade/uncordon)

TASK [upgrade/uncordon : Restore cordoned node] ********************************

Monday 03 January 2022  07:12:37 +0000 (0:00:01.539)       0:09:44.513 ********

changed: [worker-11 -> 10.192.x.x]

PLAY RECAP *********************************************************************

master-1                   : ok=38   changed=4    unreachable=0    failed=0    skipped=73   rescued=0    ignored=0

master-2                   : ok=35   changed=3    unreachable=0    failed=0    skipped=73   rescued=0    ignored=0

master-3                   : ok=35   changed=3    unreachable=0    failed=0    skipped=73   rescued=0    ignored=0

worker-1                  : ok=64   changed=3    unreachable=0    failed=0    skipped=83   rescued=0    ignored=0

worker-10                  : ok=63   changed=3    unreachable=0    failed=0    skipped=83   rescued=0    ignored=0

worker-11                  : ok=218  changed=30   unreachable=0    failed=0    skipped=306  rescued=0    ignored=0

worker-12                  : ok=63   changed=3    unreachable=0    failed=0    skipped=83   rescued=0    ignored=0

worker-13                  : ok=63   changed=3    unreachable=0    failed=0    skipped=83   rescued=0    ignored=0

worker-11                  : ok=63   changed=3    unreachable=0    failed=0    skipped=83   rescued=0    ignored=0

........

worker-3                   : ok=63   changed=3    unreachable=0    failed=0    skipped=83   rescued=0    ignored=0

worker-4                   : ok=63   changed=3    unreachable=0    failed=0    skipped=83   rescued=0    ignored=0

worker-5                   : ok=63   changed=3    unreachable=0    failed=0    skipped=83   rescued=0    ignored=0

worker-6                   : ok=63   changed=3    unreachable=0    failed=0    skipped=83   rescued=0    ignored=0

worker-7                   : ok=63   changed=3    unreachable=0    failed=0    skipped=83   rescued=0    ignored=0

worker-8                   : ok=63   changed=3    unreachable=0    failed=0    skipped=83   rescued=0    ignored=0

worker-9                   : ok=63   changed=3    unreachable=0    failed=0    skipped=83   rescued=0    ignored=0

Monday 03 January 2022  07:12:38 +0000 (0:00:00.967)       0:09:45.481 ********

===============================================================================

2022-01-03 07:12:38.854 DEBUG cluster_sync.cluster-name.worker-11: Cluster sync successful

2022-01-03 07:12:38.858 DEBUG cluster_sync.cluster-name.worker-11: Ansible sync done

2022-01-03 07:12:38.860 INFO cluster_sync.cluster-name.worker-11: _sync finished.  Opening lock

13. تحقق من حالة نظام المجموعة. يجب أن يتوافق عدد PODS-WANTED مع عدد الجاهزين.

[cluster-name-cm-1] SMI Cluster Deployer# clusters cluster-name actions k8s cluster-status

pods-desired-count 678

pods-ready-count 678

pods-desired-are-ready true

etcd-healthy true

all-ok true