المحتويات

المقدمة

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

نظرة عامة على الحل

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

المتطلبات

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

إفتراضات

التكوين

الخطوة 1. تكوين السياسات

الخطوة 2. تشكيل التوصيف

التحقق من الصحة

الاتصال بمجموعة Kubernetes

التحقق باستخدام CLI (واجهة سطر الأوامر)

استكشاف الأخطاء وإصلاحها

معلومات ذات صلة

المقدمة

يصف هذا المستند التكوين اللازم لتوفير مجموعة Kubernetes من فئة الإنتاج من Cisco Intersight (SAAs) باستخدام خدمة Cisco Intersight™ Kubernetes (IKS).

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

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

ومع ذلك، تواجه شركة Kubernetes تحديات عملياتية، لأنها تتطلب الوقت والخبرة التقنية للتركيب والتكوين.

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

أدخل IKS، وهو حل SaaS ذو مفتاح تحويل لإدارة Kubernetes متناسق من فئة الإنتاج في أي مكان. لقراءة المزيد حول إمكانيات IKS، تحقق من هذا الارتباط هنا.

نظرة عامة على الحل

بالنسبة لهذا المستند، تتمثل الفكرة في الرغبة في عرض قدرة IKS على الدمج بسلاسة مع البنية الأساسية الجاهزة لديك، وذلك من خلال تشغيل برنامجي ESXi و vCenter من VMware.

يمكنك ببضع نقرات نشر مجموعة Kubernetes من فئة الإنتاج على البنية الأساسية ل VMware لديك.

ولكن، للقيام بذلك، يتعين عليك دمج تقنية vCenter عبر برنامج Intersight الخاص بك مع برنامج InterSight، المعروف باسم "المطالبة بهدف"، حيث يتم إستهداف تقنية vCenter هنا.

ستحتاج إلى جهاز افتراضي Cisco Intersight Help، الذي يساعد في إضافة أهداف نقاط النهاية إلى Cisco Intersight. أنت يستطيع ركبت Intersight مساعدة يستعمل ال bootstrap OVA أن يكون يتوفر على cisco موقع ويب رسمي.

لتحديد نطاق هذا المستند، لن نركز على تثبيت الجهاز الظاهري Cisco Intersight Assist. ولكن، يمكنك إلقاء نظرة على العملية هنا

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

المتطلبات

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

- حساب Intersight: تحتاج إلى معرف Cisco صالح وحساب Intersight صالح.

يمكنك إنشاء معرف Cisco على موقع Cisco على الويب إذا لم يكن لديك معرف. ثم انقر فوق إرتباط إنشاء حساب على Intersight.

- تعليمات Cisco Intersight: تساعدك Cisco Intersight على إضافة vCenter/ESXi كهدف نقطة نهاية إلى Cisco Intersight.

- الاتصال: إذا كانت بيئتك تدعم وكيل HTTP/S، فيمكنك إستخدام ذلك لتوصيل جهاز Cisco Intersight Assist لديك بالإنترنت. بدلا من ذلك، يجب أن تفتح المنافذ لعناوين URL للرؤية البينية. يرجى التحقق من هذا الارتباط للحصول على متطلبات اتصال الشبكة التفصيلية :

- بيانات اعتماد vCenter للمطالبة بها على Intersight.

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

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

إفتراضات

نظرا لأن نشر جهاز Cisco Intersight خارج نطاق هذا المستند.

نحن نفترض أن لديك بالفعل حساب Intersight صالح للعمل، وقد نجحت في الحصول على VCenter/Esxi on-prem إليه.

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

التكوين

الخطوة 1. تكوين السياسات

تسمح السياسات بالإدارة المبسطة لأنها تقوم بتجريد التكوين في قوالب قابلة للاستخدام مرة أخرى.

فيما يلي بعض السياسات التي نحتاج إلى تكوينها. يرجى ملاحظة أنه سيتم إنشاء جميع هذه السياسات ضمن قسم تكوين >> سياسات وتكوين >> تجمعات في Intersight.

يمكنك رؤية مسار النهج الموجود أعلى كل لقطة شاشة أيضا، كما هو موضح أدناه.

سيتم إستخدام تجمع IP هذا لعناوين IP على الأجهزة الظاهرية Control و Worker Node عند طرحها على مضيف ESXi.

هنا تحدد Pod وشبكة الخدمات CIDR، للشبكة الداخلية ضمن تجمع Kubernetes.

الخدمات والشبكة CIDR

يحدد هذا النهج تكوين NTP و DNS.

تكوين NTP و DNS

باستخدام هذا النهج، يمكنك تحديد تكوين الوكيل لوقت تشغيل حاوية الإرساء.

تكوين الوكيل للخادم

في هذا النهج، ستقوم بتعريف التكوين المطلوب على الأجهزة الظاهرية التي تم نشرها كعقد رئيسية وعمالية.

تكوين الأجهزة الافتراضية المستخدمة

الخطوة 2. تشكيل التوصيف

بمجرد أن ننشئ السياسات المذكورة أعلاه، سنربطها في ملف تعريف يمكننا بعد ذلك نشره.

يؤدي نشر التكوين باستخدام السياسات وملفات التعريف إلى تلخيص طبقة التكوين حتى يمكن نشرها بشكل متكرر بسرعة.

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

GIve في الاسم ووضع علامات التمييز.

تكوين ملف التعريف بالاسم والعلامات

قم بتعيين التجمع ونظام تشغيل العقدة ونهج توجيه المجال التبادلي دون فئات (CIDR) للشبكة. تحتاج أيضا إلى تكوين معرف مستخدم ومفتاح SSH (عام).

سيتم إستخدام المفتاح الخاص المتوافق الخاص به لدمج عقد Master & Worker.

تكوين ملف التعريف مع السياسات المعينة

تكوين مستوى التحكم: يمكنك تحديد عدد العقد الرئيسية التي تحتاج إليها على مستوى التحكم.

تكوين العقدة الرئيسية

تكوين عقد العامل: وفقا لمتطلبات التطبيق، يمكنك زيادة حجم عقد العمل أو تخفيضها.

تكوين عقد العامل

تكوين الوظيفة الإضافية. اعتبارا من الآن، يمكنك النشر تلقائيا، Kubernetes لوحة المعلومات و Graffana مع Prometheus المراقبة.

في المستقبل، يمكنك إضافة المزيد من الوظائف الإضافية التي يمكنك نشرها تلقائيا باستخدام IKS.

إضافة وظائف إضافية إن وجدت

تحقق من الملخص، وانقر فوق نشر.

شاشة ملخص إنشاء ملف التعريف

التحقق من الصحة

استخدم هذا القسم لتأكيد عمل التكوين بشكل صحيح.

في الجانب العلوي الأيمن، يمكنك تعقب تقدم عملية النشر.

التحقق من إستخدام واجهة المستخدم الرسومية IKS

مع تقدم عملية النشر، يمكنك رؤية عقد Kubernetes الرئيسية والعاملة على VCenter.

مجموعة IKS تظهر في vCenter

في حالة الحاجة إلى رؤية الخطوات التفصيلية لعملية النشر، يمكنك الانتقال أكثر إلى التنفيذ.

تنفيذ إنشاء ملف التعريف

الاتصال بمجموعة Kubernetes

يمكنك الاتصال بمجموعة Kubernetes بالطرق التالية:

باستخدام ملف KubeConfig، والذي يمكنك تنزيله من Operation > Kubernetes > تحديد الخيارات على أقصى اليمين.

تحتاج إلى تثبيت KubeCtl على محطة عمل الإدارة، من حيث تريد الوصول إلى مجموعة البيانات هذه.

تنزيل ملف KubeConfig من IKS

يمكنك أيضا بروتوكول SSH مباشرة إلى العقدة الرئيسية، باستخدام تطبيقات SSH مثل PuTTY باستخدام بيانات الاعتماد والمفتاح الخاص اللذين تم تكوينهما في وقت النشر

إذا قمت بنشر "لوحة معلومات Kubernetes" كوظيفة إضافية يمكنك إستخدامها أيضا، لنشر التطبيقات مباشرة باستخدام واجهة المستخدم الرسومية (GUI).

لمزيد من التفاصيل، الرجاء مراجعة قسم "الوصول إلى مجموعات Kubernetes"، هنا :

التحقق باستخدام CLI (واجهة سطر الأوامر)

بمجرد أن تتمكن من الاتصال بمجموعة Kubernetes، باستخدام KubeCtl، يمكنك إستخدام الأوامر التالية للتحقق مما إذا كان نظام المجموعة يحتوي على كافة المكونات مثبتة ومشغلة.

تحقق من أن العقد الموجودة في نظام المجموعة في حالة 'جاهز'.

iksadmin@kubek8scl1-controlpl-b8a50f8235:~$ kubectl get nodes

NAME                              STATUS   ROLES    AGE    VERSION

kubek8scl1-caaskubew-6ba6bf794e   Ready

6d4h v1.19.5 kubek8scl1-caaskubew-caa202993e Ready

6d4h v1.19.5 kubek8scl1-controlpl-b8a50f8235 Ready master 6d4h v1.19.5

تحقق من حالة نقاط الوصول التي تم إنشاؤها في وقت تثبيت المكونات الأساسية على المجموعة.

iksadmin@kubek8scl1-controlpl-b8a50f8235:~$ kubectl get pod -n iks | grep apply-

apply-ccp-monitor-2b7tx                                           0/1     Completed   0          6d3h

apply-cloud-provider-qczsj                                        0/1     Completed   0          6d3h

apply-cni-g7dcc                                                   0/1     Completed   0          6d3h

apply-essential-cert-ca-jwdtk                                     0/1     Completed   0          6d3h

apply-essential-cert-manager-bg5fj                                0/1     Completed   0          6d3h

apply-essential-metallb-nzj7h                                     0/1     Completed   0          6d3h

apply-essential-nginx-ingress-8qrnq                               0/1     Completed   0          6d3h

apply-essential-registry-f5wn6                                    0/1     Completed   0          6d3h

apply-essential-vsphere-csi-tjfnq                                 0/1     Completed   0          6d3h

apply-kubernetes-dashboard-rslt4                                  0/1     Completed   0          6d3h

تحقق من حالة CCP-helm-operator pod الذي يدير إدارة التشغيل المحلي ويقوم بتثبيت الوظائف الإضافية.

iksadmin@kubek8scl1-controlpl-b8a50f8235:~$ kubectl get helmcharts.helm.ccp.----.com -A

NAMESPACE   NAME                      STATUS      VERSION INSTALLED     VERSION SYNCED

iks         ccp-monitor               INSTALLED   0.2.61-helm3

iks         essential-cert-ca         INSTALLED   0.1.1-helm3

iks         essential-cert-manager    INSTALLED   v1.0.2-cisco1-helm3

iks         essential-metallb         INSTALLED   0.12.0-cisco3-helm3

iks         essential-nginx-ingress   INSTALLED   2.10.0-cisco2-helm3

iks         essential-registry        INSTALLED   1.8.3-cisco10-helm3

iks         essential-vsphere-csi     INSTALLED   1.0.1-helm3

iks         kubernetes-dashboard      INSTALLED   3.0.2-cisco3-helm3

iks         vsphere-cpi               INSTALLED   0.1.3-helm3

iksadmin@kubek8scl1-controlpl-b8a50f8235:~$ helm ls -A

WARNING: Kubernetes configuration file is group-readable. This is insecure. Location: /home/iksadmin/.kube/config

NAME                    NAMESPACE       REVISION        UPDATED                                 STATUS          CHART                                       APP VERSION

addon-operator          iks             1               2021-11-05 07:45:15.44180913 +0000 UTC  deployed        ccp-helm-operator-9.1.0-alpha.44.g415a48c4be1.0

ccp-monitor             iks             1               2021-11-05 08:23:11.309694887 +0000 UTC deployed        ccp-monitor-0.2.61-helm3

essential-cert-ca       iks             1               2021-11-05 07:55:04.409542885 +0000 UTC deployed        cert-ca-0.1.1-helm3                         0.1.0

essential-cert-manager  iks             1               2021-11-05 07:54:41.433212634 +0000 UTC deployed        cert-manager-v1.0.2-cisco1-helm3            v1.0.2

essential-metallb       iks             1               2021-11-05 07:54:48.799226547 +0000 UTC deployed        metallb-0.12.0-cisco3-helm3                 0.8.1

essential-nginx-ingress iks             1               2021-11-05 07:54:46.762865131 +0000 UTC deployed        ingress-nginx-2.10.0-cisco2-helm3           0.33.0

essential-registry      iks             1               2021-11-05 07:54:36.734982103 +0000 UTC deployed        docker-registry-1.8.3-cisco10-helm3         2.7.1

essential-vsphere-csi   kube-system     1               2021-11-05 07:54:58.168305242 +0000 UTC deployed        vsphere-csi-1.0.1-helm3                     v2.0.0

kubernetes-dashboard    iks             1               2021-11-05 07:55:10.197905183 +0000 UTC deployed        kubernetes-dashboard-3.0.2-cisco3-helm3     2.1.0

vsphere-cpi             kube-system     1               2021-11-05 07:54:38.292088943 +0000 UTC deployed        vsphere-cpi-0.1.3-helm3                     1.1.0

تحقق من حالة نقاط الوصول الأساسية* التي تدير الوظائف الإضافية الأساسية (الأساسية) المثبتة بشكل افتراضي على كل مجموعة مستأجرين IKS.

iksadmin@kubek8scl1-controlpl-b8a50f8235:~$ kubectl get pod -n iks | grep ^essential-

essential-cert-manager-6bb7d776d-tpkhj                            1/1     Running     0          6d4h

essential-cert-manager-cainjector-549c8f74c-x5sjp                 1/1     Running     0          6d4h

essential-cert-manager-webhook-76f596b686-drf79                   1/1     Running     0          6d4h

essential-metallb-controller-6557847d57-djs9b                     1/1     Running     0          6d4h

essential-metallb-speaker-7t54v                                   1/1     Running     0          6d4h

essential-metallb-speaker-ggmbn                                   1/1     Running     0          6d4h

essential-metallb-speaker-mwmfg                                   1/1     Running     0          6d4h

essential-nginx-ingress-ingress-nginx-controller-k2hsw            1/1     Running     0          6d4h

essential-nginx-ingress-ingress-nginx-controller-kfkm9            1/1     Running     0          6d4h

essential-nginx-ingress-ingress-nginx-defaultbackend-695fbj4mnd   1/1     Running     0          6d4h

essential-registry-docker-registry-75b84457f4-4fmlh               1/1     Running     0          6d4h

تحقق من حالة الخدمات وموازن التحميل الذي تم نشره في مساحة اسم IKS.

iksadmin@kubek8scl1-controlpl-b8a50f8235:~$ kubectl get svc -n iks

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

ccp-monitor-grafana                                    ClusterIP      192.168.23.161

80/TCP 6d3h ccp-monitor-prometheus-alertmanager ClusterIP 192.168.23.70

80/TCP 6d3h ccp-monitor-prometheus-kube-state-metrics ClusterIP None

80/TCP 6d3h ccp-monitor-prometheus-node-exporter ClusterIP None

9100/TCP 6d3h ccp-monitor-prometheus-pushgateway ClusterIP 192.168.23.130

9091/TCP 6d3h ccp-monitor-prometheus-server ClusterIP 192.168.23.95

443/TCP 6d3h essential-cert-manager ClusterIP 192.168.23.178

9402/TCP 6d4h essential-cert-manager-webhook ClusterIP 192.168.23.121

443/TCP 6d4h essential-nginx-ingress-ingress-nginx-controller LoadBalancer 192.168.23.26 192.168.10.11 80:31121/TCP,443:31753/TCP 6d4h essential-nginx-ingress-ingress-nginx-defaultbackend ClusterIP 192.168.23.205

80/TCP 6d4h essential-registry-docker-registry ClusterIP 192.168.23.12

443/TCP 6d4h kubernetes-dashboard ClusterIP 192.168.23.203

443/TCP 6d4h

استكشاف الأخطاء وإصلاحها

يوفر هذا القسم معلومات يمكنك استخدامها لاستكشاف أخطاء التكوين وإصلاحها.

في حالة عدم ظهور pod محدد، يمكنك إستخدام هذه الأوامر للتنقل لأسفل حول السبب.

Syntax : kubectl describe pod

-n

Example : kubectl describe pod vsphere-csi-controller-7d56dc7c8-qgbhw -n kube-system Name: vsphere-csi-controller-7d56dc7c8-qgbhw Namespace: kube-system Priority: 0 Node: kubek8scl1-controlpl-eb44cf1bf3/192.168.58.11 Start Time: Tue, 28 Sep 2021 02:39:41 +0000 Labels: app=vsphere-csi-controller pod-template-hash=7d56dc7c8 role=vsphere-csi Annotations:

Status: Running IP: 192.168.58.11 IPs: IP: 192.168.58.11 Controlled By: ReplicaSet/vsphere-csi-controller-7d56dc7c8 Containers: csi-attacher: Container ID: docker://60002693136d00f3b61237304a1fbc033df92f86dc1352965328fe3c4d264fdb Image: registry.ci.x----x.com/cpsg_kaas-images/quay.io/k8scsi/csi-attacher:v2.0.0 Image ID: docker-pullable://registry.ci.x------x.com/cpsg_kaas-images/quay.io/k8scsi/csi-attacher@sha256:71e2b9b5b8c52d789ef89ba901c8fba270fa623789a988c77c52ebb0257bf723 Port:

Host Port:

Args: --v=4 --timeout=300s --csi-address=$(ADDRESS) --leader-election State: Running Started: Thu, 30 Sep 2021 05:44:11 +0000 Last State: Terminated Reason: Error Message: Lost connection to CSI driver, exiting Exit Code: 255 Started: Thu, 30 Sep 2021 05:38:20 +0000 Finished: Thu, 30 Sep 2021 05:39:06 +0000 Ready: True Restart Count: 531 X----------------------- Log Text Omitted ---------X----------------------X--------------------X

معلومات ذات صلة

- اطلع على ملخص خدمة IKS هنا.

- تحقق من دليل المستخدم هنا.

- تحقق من العرض التوضيحي لخدمة Kubernetes Intersight هنا.

- الدعم التقني والمستندات - Cisco Systems