المحتويات

المقدمة

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

المتطلبات

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

معرفة مخطط RCM IP

إجراء النسخ الاحتياطي

النسخ الاحتياطي للتكوين

إجراء التبليغ المسبق

عمليات الفحص المسبق على AIO

نموذج لمخرجات التحققات المسبقة

إجراء التنفيذ

خطوات التنفيذ على RCM قبل إيقاف تشغيل عقدة AIO

خطوات التنفيذ على عقدة Kubernetes قبل إيقاف تشغيل عقدة AIO

إجراء صيانة الملقم

إجراء إستعادة Kubernetes

خطوات التنفيذ على Kubernetes Node Post Power على عقدة AIO

إجراء إستعادة RCM

خطوات التنفيذ على مراكز عمليات RCM و CEE لاستعادة التطبيق

إجراء التحقق

المقدمة

يصف هذا المستند الإجراء التفصيلي ل "تفويض المواد المسترجعة" (RMA) لخادم "إدارة تكوين التكرار" (RCM) القائم على "متعدد الإمكانات (AIO)" في نشر "النظام الأساسي للنشر الأصلي للسحابة" (CNDP) لأية مشكلات تتعلق بالأجهزة أو أنشطة الصيانة.

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

المتطلبات

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

- RCM

- كوبيرنيتس

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

تستند المعلومات الواردة في هذا المستند إلى إصدار RCM - RCM.2021.02.1.i18

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

معرفة مخطط RCM IP

يشرح هذا المستند تصميم RCM الذي يتكون من عقدتين AIO مع منفذي RCM و RCM CEE واحدة لكل عقدة AIO.

عقدة RCM AIO المستهدفة ل RMA في هذه المقالة هي AIO-1 (AI0301) التي تحتوي على كل من عارضي RCM في الحالة الأساسية.

POD_NAME

NODE_NAME

IP_ADDRESS

DEVICE_TYPE

OS_TYPE

UP0300

RCE301

10.1.2.9

RCM_CEE_AIO_1

opscenter

UP0300

RCE302

10.1.2.10

RCM_CEE_AIO_2

opscenter

UP0300

AI0301

10.1.2.7

RCM_K8_AIO_1

linux

UP0300

AI0302

10.1.2.8

RCM_K8_AIO_2

linux

UP0300

RM0301

10.1.2.3

RCM1_ACTIVE

opscenter

UP0300

RM0302

10.1.2.4

RCM1_STANDBY

opscenter

UP0300

RM0303

10.1.2.5

RCM2_ACTIVE

opscenter

UP0300

RM0304

10.1.2.6

RCM2_STANDBY

opscenter

إجراء النسخ الاحتياطي

النسخ الاحتياطي للتكوين

للبدء بها، قم بجمع النسخ الاحتياطي للتكوين الخاص ب running-config من منظومات RCM التي تعمل على عقدة AIO الهدف.

# show running-config | nomore

تجميع running-config من منظومات RCM CEE التي تعمل على عقدة AIO الهدف.

# show running-config | nomore

إجراء التبليغ المسبق

عمليات الفحص المسبق على AIO

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

# kubectl get ns

# kubectl get pods -A -o wide

نموذج لمخرجات التحققات المسبقة

لاحظ صوري RCM وخادم RCM CEE واحد يتم تشغيله على عقدة AIO-1

cloud-user@up0300-aio-1-master-1:~$ kubectl get ns

NAME              STATUS   AGE

cee-rce301        Active   110d  <--

default           Active   110d

istio-system      Active   110d

kube-node-lease   Active   110d

kube-public       Active   110d

kube-system       Active   110d

nginx-ingress     Active   110d

rcm-rm0301        Active   110d  <--

rcm-rm0303        Active   110d  <--

registry          Active   110d

smi-certs         Active   110d

smi-node-label    Active   110d

smi-vips          Active   110d

cloud-user@up0300-aio-1-master-1:~$

قم بتسجيل الدخول إلى كل من RCM opscenter من AIO-1 والتحقق من الحالة.

[up0300-aio-1/rm0301] rcm# rcm show-status

message :

{"status":[" Fri Oct 29 07:21:11 UTC 2021 : State is MASTER"]}

[up0300-aio-1/rm0301] rcm#

[up0300-aio-1/rm0303] rcm# rcm show-status

message :

{"status":[" Fri Oct 29 07:22:18 UTC 2021 : State is MASTER"]}

[up0300-aio-1/rm0303] rcm#

كرر الخطوات نفسها على عقدة AIO-2 حيث يكون منفذا RCM الآخران المماثلان لعقدة AIO-1 حاضرين.

cloud-user@up0300-aio-2-master-1:~$ kubectl get ns

NAME              STATUS   AGE

cee-rce302        Active   105d  <--

default           Active   105d

istio-system      Active   105d

kube-node-lease   Active   105d

kube-public       Active   105d

kube-system       Active   105d

nginx-ingress     Active   105d

rcm-rm0302        Active   105d  <--

rcm-rm0304        Active   105d  <--

registry          Active   105d

smi-certs         Active   105d

smi-node-label    Active   105d

smi-vips          Active   105d

cloud-user@up0300-aio-2-master-1:~$

قم بتسجيل الدخول إلى كل من RCM opscenter من AIO-2 والتحقق من الحالة.

[up0300-aio-2/rm0302] rcm# rcm show-status

message :

{"status":[" Fri Oct 29 09:32:54 UTC 2021 : State is BACKUP"]}

[up0300-aio-2/rm0302] rcm#

[up0300-aio-2/rm0304] rcm# rcm show-status

message :

{"status":[" Fri Oct 29 09:33:51 UTC 2021 : State is BACKUP"]}

[up0300-aio-2/rm0304] rcm#

إجراء التنفيذ

خطوات التنفيذ على RCM قبل إيقاف تشغيل عقدة AIO

1. بما أن كل من RCMs على AIO-1 رئيسي، يمكنك ترحيلهم إلى النسخ الاحتياطي.

أ. للقيام بذلك، يتعين عليك تنفيذ الأمر RCM الخاص بالترحيل الأساسي على RCMs النشطة قبل إيقاف تشغيل خادم AIO-1.

[up0300-aio-1/rm0301] rcm# rcm migrate primary

[up0300-aio-1/rm0303] rcm# rcm migrate primary

ب. تحقق من أن الحالة هي الآن نسخة إحتياطية على AIO-1.

[up0300-aio-1/rm0301] rcm# rcm show-status

[up0300-aio-1/rm0303] rcm# rcm show-status

ج. تأكد من أن الحالة هي الآن MASTER على AIO-2 وتأكد من أنها MASTER.

[up0300-aio-1/rm0302] rcm# rcm show-status

[up0300-aio-1/rm0304] rcm# rcm show-status

d. قم بإيقاف تشغيل RCM على كل من RM0301 و RM0303.

[up0300-aio-2/rm0301] rcm# config

Entering configuration mode terminal

[up0300-aio-2/rm0301] rcm(config)# system mode shutdown

[up0300-aio-1/rce301] rcm(config)# commit comment <CRNUMBER>

[up0300-aio-2/rm0303] rcm# config

Entering configuration mode terminal

[up0300-aio-2/rm0303] rcm(config)# system mode shutdown

[up0300-aio-1/rce303] rcm(config)# commit comment <CRNUMBER>

2. كما يتعين علينا إيقاف تشغيل عمليات شبكة إيثرنت المحسنة المجمعة (CEE) التي تعمل على الأنظمة متعددة الإمكانات (AIO-1)، وهي الأوامر المستخدمة.

[up0300-aio-1/rce301] cee# config

Entering configuration mode terminal

[up0300-aio-1/rce301] cee(config)# system mode shutdown

[up0300-aio-1/rce301] cee(config)# commit comment <CRNUMBER>

[up0300-aio-1/rce301] cee(config)# exit

انتظر دقيقتين ثم تحقق من النظام لإظهار 0.0٪.

[up0300-aio-1/rce301] cee# show system

3. تأكد من عدم وجود نقاط وصول لمساحات أسماء RCM و CEE باستثناء الوثائق والوكيل الذكي و OPS-center-RCM و OPS-center-CEE

# kubectl get pods -n rcm-rm0301 -o wide

# kubectl get pods -n rcm-rm0303 -o wide

# kubectl get pods -n cee-rce302 -o wide

خطوات التنفيذ على عقدة Kubernetes قبل إيقاف تشغيل عقدة AIO

قم باستنزاف عقدة Kubernetes حتى يتم إنهاء نقاط الوصول والخدمات المقترنة بشكل سلس. لم يعد المجدول يحدد عقدة Kubernetes هذه ويخرج pods من تلك العقدة. الرجاء إستنزاف عقدة واحدة في كل مرة.

قم بتسجيل الدخول إلى "إدارة مجموعات SMI".

cloud-user@bot-deployer-cm-primary:~$ kubectl get svc -n smi-cm

NAME                                          TYPE        CLUSTER-IP       EXTERNAL-IP      PORT(S)                                                 AGE

cluster-files-offline-smi-cluster-deployer    ClusterIP   10.102.108.177   <none>           8080/TCP                                                78d

iso-host-cluster-files-smi-cluster-deployer   ClusterIP   10.102.255.174   192.168.0.102    80/TCP                                                  78d

iso-host-ops-center-smi-cluster-deployer      ClusterIP   10.102.58.99     192.168.0.100    3001/TCP                                                78d

netconf-ops-center-smi-cluster-deployer       ClusterIP   10.102.108.194   10.244.110.193   3022/TCP,22/TCP                                         78d

ops-center-smi-cluster-deployer               ClusterIP   10.102.156.123   <none>           8008/TCP,2024/TCP,2022/TCP,7681/TCP,3000/TCP,3001/TCP   78d

squid-proxy-node-port                         NodePort    10.102.73.130    <none>           3128:31677/TCP                                          78d

cloud-user@bot-deployer-cm-primary:~$ ssh -p 2024 admin@<Cluster IP of ops-center-smi-cluster-deployer>

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

Copyright © 2016-2020, Cisco Systems, Inc.

All rights reserved.

admin connected from 192.168.0.100 using ssh on ops-center-smi-cluster-deployer-686b66d9cd-nfzx8

[bot-deployer-cm-primary] SMI Cluster Deployer#

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

LOCK TO

NAME               VERSION

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

cp0100-smf-data  -

cp0100-smf-ims   -

cp0200-smf-data  -

cp0200-smf-ims   -

up0300-aio-1     -     <--

up0300-aio-2     -

up0300-upf-data  -

up0300-upf-ims   -

قم بتفريغ العقدة الرئيسية:

[bot-deployer-cm-primary] SMI Cluster Deployer# clusters up0300-aio-1 nodes master-1 actions sync drain remove-node true

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

message accepted

وضع علامة لعقدة رئيسي-1 في وضع الصيانة:

[bot-deployer-cm-primary] SMI Cluster Deployer# config

Entering configuration mode terminal

[bot-deployer-cm-primary] SMI Cluster Deployer(config)# clusters up0300-aio-1

[bot-deployer-cm-primary] SMI Cluster Deployer(config-clusters-up0300-aio-1)# nodes master-1

[bot-deployer-cm-primary] SMI Cluster Deployer(config-nodes-master1)# maintenance true

[bot-deployer-cm-primary] SMI Cluster Deployer(config-nodes-master1)# commit

Commit complete.

[bot-deployer-cm-primary] SMI Cluster Deployer(config-nodes-master1)# end

قم بتشغيل مزامنة نظام المجموعة ومراقبة السجلات الخاصة بإجراء المزامنة:

[bot-deployer-cm-primary] SMI Cluster Deployer# clusters up0300-aio-1 nodes master-1 actions sync

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

message accepted

[bot-deployer-cm-primary] SMI Cluster Deployer# clusters up0300-aio-1 nodes master-1 actions sync logs

إخراج نموذج لسجلات مزامنة نظام المجموعة:

[installer-master] SMI Cluster Deployer#  clusters kali-stacked nodes cmts-worker1-1 actions sync logs

Example Cluster Name: kali-stacked

Example WorkerNode: cmts-worker1

logs 2020-10-06 20:01:48.023 DEBUG cluster_sync.kali-stacked.cmts-worker1: Cluster name: kali-stacked

2020-10-06 20:01:48.024 DEBUG cluster_sync.kali-stacked.cmts-worker1: Node name: cmts-worker1

2020-10-06 20:01:48.024 DEBUG cluster_sync.kali-stacked.cmts-worker1: debug: false

2020-10-06 20:01:48.024 DEBUG cluster_sync.kali-stacked.cmts-worker1: remove_node: true

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

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

Tuesday 06 October 2020  20:01:48 +0000 (0:00:00.017)       0:00:00.017 *******

ok: [master3]

ok: [master1]

ok: [cmts-worker1]

ok: [cmts-worker3]

ok: [cmts-worker2]

ok: [master2]

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

Tuesday 06 October 2020  20:01:50 +0000 (0:00:02.432)       0:00:02.450 *******

skipping: [master1]

skipping: [master2]

skipping: [master3]

skipping: [cmts-worker1]

skipping: [cmts-worker2]

skipping: [cmts-worker3]

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

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

Tuesday 06 October 2020  20:01:51 +0000 (0:00:00.144)       0:00:02.594 *******

skipping: [master1]

skipping: [master2]

skipping: [master3]

skipping: [cmts-worker2]

skipping: [cmts-worker3]

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

Tuesday 06 October 2020  20:01:51 +0000 (0:00:00.205)       0:00:02.800 *******

changed: [cmts-worker1 -> 172.22.18.107]

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

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

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

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

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

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

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

Tuesday 06 October 2020  20:02:29 +0000 (0:00:38.679)       0:00:41.479 *******

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

2020-10-06 20:02:30.057 DEBUG cluster_sync.kali-stacked.cmts-worker1: Cluster sync successful

2020-10-06 20:02:30.058 DEBUG cluster_sync.kali-stacked.cmts-worker1: Ansible sync done

2020-10-06     0:02:30.058 INFO cluster_sync.kali-stacked.cmts-worker1: _sync finished.  Opening lock

إجراء صيانة الملقم

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

ملاحظة: لا تغطي هذه المقالة مذكرة التفاهم الخاصة بالأجهزة أو نشاط الصيانة للخادم لأنها تختلف عن بيان المشكلة

إجراء إستعادة Kubernetes

خطوات التنفيذ على Kubernetes Node Post Power على عقدة AIO

تسجيل الدخول إلى برنامج SMI Cluster Manager:

cloud-user@bot-deployer-cm-primary:~$ kubectl get svc -n smi-cm

NAME                                          TYPE        CLUSTER-IP       EXTERNAL-IP      PORT(S)                                                 AGE

cluster-files-offline-smi-cluster-deployer    ClusterIP   10.102.108.177   <none>           8080/TCP                                                78d

iso-host-cluster-files-smi-cluster-deployer   ClusterIP   10.102.255.174   192.168.0.102    80/TCP                                                  78d

iso-host-ops-center-smi-cluster-deployer      ClusterIP   10.102.58.99     192.168.0.100    3001/TCP                                                78d

netconf-ops-center-smi-cluster-deployer       ClusterIP   10.102.108.194   10.244.110.193   3022/TCP,22/TCP                                         78d

ops-center-smi-cluster-deployer               ClusterIP   10.102.156.123   <none>           8008/TCP,2024/TCP,2022/TCP,7681/TCP,3000/TCP,3001/TCP   78d

squid-proxy-node-port                         NodePort    10.102.73.130    <none>           3128:31677/TCP                                          78d

cloud-user@bot-deployer-cm-primary:~$ ssh -p 2024 admin@<ClusterIP of ops-center-smi-cluster-deployer>

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

Copyright © 2016-2020, Cisco Systems, Inc.

All rights reserved.

admin connected from 192.168.0.100 using ssh on ops-center-smi-cluster-deployer-686b66d9cd-nfzx8

[bot-deployer-cm-primary] SMI Cluster Deployer#

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

LOCK TO

NAME               VERSION

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

cp0100-smf-data  -

cp0100-smf-ims   -

cp0200-smf-data  -

cp0200-smf-ims   -

up0300-aio-1     -     <--

up0300-aio-2     -

up0300-upf-data  -

up0300-upf-ims   -

قم بإيقاف تشغيل علامة الصيانة للمكون الرئيسي-1 لإضافته مرة أخرى إلى نظام المجموعة.

[bot-deployer-cm-primary] SMI Cluster Deployer# config

Entering configuration mode terminal

[bot-deployer-cm-primary] SMI Cluster Deployer(config)# clusters up0300-aio-1

[bot-deployer-cm-primary] SMI Cluster Deployer(config-clusters-up0300-aio-1)# nodes master-1

[bot-deployer-cm-primary] SMI Cluster Deployer(config-nodes-master-1)# maintenance false

[bot-deployer-cm-primary] SMI Cluster Deployer(config-nodes-master-1)# commit

Commit complete.

[bot-deployer-cm-primary] SMI Cluster Deployer(config-nodes-master-1)# end

قم باستعادة مجموعات توصيل العقد الرئيسية والخدمات مع إجراء مزامنة نظام المجموعة.

[bot-deployer-cm-primary] SMI Cluster Deployer# clusters up0100-aio-1 nodes master-1 actions sync run debug true

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

message accepted

مراقبة سجلات إجراء المزامنة.

[bot-deployer-cm-primary] SMI Cluster Deployer# clusters up0100-aio-1 nodes master-1 actions sync logs

تحقق من حالة نظام المجموعة لمدير AIO-1.

[bot-deployer-cm-primary] SMI Cluster Deployer# clusters up0300-aio-1 actions k8s cluster-status

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

[installer-] SMI Cluster Deployer# clusters kali-stacked actions k8s cluster-status

pods-desired-count 67

pods-ready-count 67

pods-desired-are-ready true

etcd-healthy true

all-ok true

إجراء إستعادة RCM

خطوات التنفيذ على مراكز عمليات RCM و CEE لاستعادة التطبيق

قم بتحديث CEE OpenCenter و RCM OpenCenter إلى وضع التشغيل.

قم بتكوين وضع التشغيل ل RCE301.

[up0300-aio-1/rce301] cee# config

Entering configuration mode terminal

[up0300-aio-1/rce301] cee(config)# system mode running

[up0300-aio-1/rce301] cee(config)# commit comment <CRNUMBER>

[up0300-aio-1/rce301] cee(config)# exit

انتظر دقيقتين ثم تحقق من أن النظام بنسبة 100.0٪.

[up0300-aio-1/rce301] cee# show system

قم بتكوين وضع التشغيل ل RM0301.

[up0300-aio-2/rm0301] rcm# config

Entering configuration mode terminal

[up0300-aio-2/rm0301] rcm(config)# system mode running

[up0300-aio-1/rce301] rcm(config)# commit comment <CRNUMBER>

انتظر لبضع دقائق ثم تحقق من أن النظام بنسبة 100.0٪.

[up0300-aio-1/rm0301] cee# show system

قم بتكوين وضع التشغيل ل RM0303.

[up0300-aio-2/rm0303] rcm# config

Entering configuration mode terminal

[up0300-aio-2/rm0303] rcm(config)# system mode running

[up0300-aio-1/rce303] rcm(config)# commit comment <CRNUMBER>

انتظر دقيقتين ثم تحقق من أن النظام بنسبة 100.0٪.

[up0300-aio-1/rm0303] cee# show system

إجراء التحقق

تحقق من أن جميع حالات تشغيل PODS قيد التشغيل على كل من عقد AIO باستخدام هذه الأوامر.

on AIO nodes:

kubectl get ns

kubectl get pods -A -o wide

on RCM ops-centers:

rcm show-status