تقديم التحكم في مهمة Tanzu

نريد اليوم أن نتحدث عن VMware Tanzu، وهو خط جديد من المنتجات والخدمات تم الإعلان عنه خلال مؤتمر VMWorld العام الماضي. يوجد في جدول الأعمال إحدى الأدوات الأكثر إثارة للاهتمام: Tanzu Mission Control.

كن حذرا: هناك الكثير من الصور تحت القطع.

تقديم التحكم في مهمة Tanzu

ما هو التحكم في المهمة

وكما ذكرت الشركة نفسها في مدونتها، فإن الهدف الرئيسي لبرنامج VMware Tanzu Mission Control هو "جلب النظام إلى الفوضى الجماعية". Mission Control عبارة عن نظام أساسي يعتمد على واجهة برمجة التطبيقات (API) والذي سيسمح للمسؤولين بتطبيق السياسات على المجموعات أو مجموعات المجموعات وتعيين قواعد الأمان. تتكامل الأدوات المستندة إلى SaaS بشكل آمن في مجموعات Kubernetes عبر وكيل وتدعم مجموعة متنوعة من عمليات المجموعة القياسية، بما في ذلك عمليات إدارة دورة الحياة (النشر والقياس والحذف وما إلى ذلك).

تعتمد أيديولوجية خط تانزو على الاستخدام الأقصى للتقنيات مفتوحة المصدر. لإدارة دورة حياة مجموعات Tanzu Kubernetes Grid، يتم استخدام Cluster API، ويتم استخدام Velero للنسخ الاحتياطي والاسترداد، ويتم استخدام Sonobuoy لمراقبة الامتثال لتكوين مجموعات Kubernetes وContour كوحدة تحكم في الدخول.

تبدو القائمة العامة لوظائف Tanzu Mission Control كما يلي:

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

تقديم التحكم في مهمة Tanzu

لماذا هو مهم

سيساعد برنامج Tanzu Mission Control الشركات على حل مشكلة إدارة أسطول كبير من مجموعات Kubernetes الموجودة في أماكن العمل وفي السحابة وعبر العديد من موفري الخدمات الخارجيين. عاجلاً أم آجلاً، تجد أي شركة ترتبط أنشطتها بتكنولوجيا المعلومات نفسها مضطرة إلى دعم العديد من المجموعات غير المتجانسة الموجودة لدى مقدمي خدمات مختلفين. تتحول كل مجموعة إلى كرة ثلج تحتاج إلى تنظيم كفؤ وبنية تحتية مناسبة وسياسات وحماية وأنظمة مراقبة وغير ذلك الكثير.

في الوقت الحاضر، تسعى أي شركة إلى تقليل التكاليف وأتمتة العمليات الروتينية. ومن الواضح أن المشهد المعقد لتكنولوجيا المعلومات لا يشجع على الادخار والتركيز على المهام ذات الأولوية. يمنح Tanzu Mission Control المؤسسات القدرة على تشغيل مجموعات Kubernetes المتعددة المنتشرة عبر مقدمي خدمات متعددين مع تنسيق نموذج التشغيل.

هندسة الحل

تقديم التحكم في مهمة Tanzu

Tanzu Mission Control عبارة عن منصة متعددة المستأجرين تتيح للمستخدمين الوصول إلى مجموعة من السياسات القابلة للتكوين بدرجة عالية والتي يمكن تطبيقها على مجموعات Kubernetes ومجموعات المجموعات. يرتبط كل مستخدم بمؤسسة، وهي "الجذر" للموارد - مجموعات الكتلة ومساحات العمل.

تقديم التحكم في مهمة Tanzu

ما يمكن أن تفعله وحدة التحكم في مهمة Tanzu

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

عرض واحد لجميع مجموعات Kubernetes في المؤسسة:

تقديم التحكم في مهمة Tanzu

إنشاء كتلة جديدة:

تقديم التحكم في مهمة Tanzu

تقديم التحكم في مهمة Tanzu

يمكنك تعيين مجموعة على الفور إلى مجموعة، وسوف ترث السياسات المخصصة لها.

اتصال الكتلة:

تقديم التحكم في مهمة Tanzu

يمكن ببساطة ربط المجموعات الموجودة بالفعل باستخدام وكيل خاص.

تجميع الكتلة:

تقديم التحكم في مهمة Tanzu

في مجموعات المجموعات، يمكنك تجميع المجموعات لترث السياسات المعينة على الفور على مستوى المجموعة، دون تدخل يدوي.

مساحات العمل:

تقديم التحكم في مهمة Tanzu

يوفر القدرة على تكوين الوصول بمرونة إلى تطبيق موجود ضمن العديد من مساحات الأسماء والمجموعات والبنى التحتية السحابية.

دعونا نلقي نظرة فاحصة على مبادئ تشغيل Tanzu Mission Control في العمل المختبري.

مختبر رقم 1

بالطبع، من الصعب جدًا تخيل تشغيل نظام التحكم في المهمة وحلول Tanzu الجديدة دون ممارسة بالتفصيل. لكي تتمكن من استكشاف الميزات الرئيسية للخط، يوفر برنامج VMware إمكانية الوصول إلى العديد من مقاعد المختبرات. تتيح لك هذه المقاعد أداء العمل المختبري باستخدام تعليمات خطوة بخطوة. بالإضافة إلى نظام Tanzu Mission Control نفسه، تتوفر حلول أخرى للاختبار والدراسة. يمكن العثور على قائمة كاملة بأعمال المختبر في هذه الصفحة.

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

اجتياز العمل المختبري رقم 1
للوصول إلى المختبرات، ستحتاج إلى حساب VMware. بعد التفويض، سيتم فتح نافذة منبثقة تحتوي على المخطط الرئيسي للعمل. سيتم وضع التعليمات التفصيلية على الجانب الأيمن من الشاشة.

بعد قراءة مقدمة قصيرة عن Tanzu، ستتم دعوتك للتدرب على المحاكاة التفاعلية للتحكم في المهمة.

سيتم فتح نافذة منبثقة جديدة لجهاز Windows وسيُطلب منك إجراء بعض العمليات الأساسية:

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


بالطبع، لا توفر المحاكاة التفاعلية حرية كافية للدراسة المستقلة: فأنت تتحرك على طول القضبان التي وضعها المطورون مسبقًا.

مختبر رقم 2

نحن هنا نتعامل بالفعل مع شيء أكثر خطورة. هذا العمل المخبري ليس مرتبطًا بـ "القضبان" مثل العمل السابق ويتطلب دراسة أكثر دقة. لن نعرضها هنا بالكامل: لتوفير وقتك، سنقوم بتحليل الوحدة الثانية فقط، الأولى مخصصة للجانب النظري لعمل Tanzu Mission Control. إذا كنت ترغب في ذلك، يمكنك القيام بذلك بالكامل بنفسك. تقدم لنا هذه الوحدة نظرة متعمقة في إدارة دورة حياة المجموعة من خلال Tanzu Mission Control.

ملحوظة: يتم تحديث وتحسين العمل المعملي لمختبر Tanzu Mission Control بانتظام. إذا اختلفت أي من الشاشات أو الخطوات عن تلك الواردة أدناه أثناء إكمال الدرس المعملي، فاتبع الإرشادات الموجودة على الجانب الأيمن من الشاشة. سنستعرض الإصدار الحالي من LR في وقت كتابة هذا التقرير وننظر في عناصره الأساسية.

اجتياز العمل المختبري رقم 2
بعد عملية الترخيص في VMware Cloud Services، قمنا بتشغيل Tanzu Mission Control.

تقديم التحكم في مهمة Tanzu

الخطوة الأولى التي يقترحها المختبر هي نشر مجموعة Kubernetes. نحتاج أولاً إلى الوصول إلى Ubuntu VM باستخدام PuTTY. قم بتشغيل الأداة المساعدة وحدد جلسة مع Ubuntu.

تقديم التحكم في مهمة Tanzu

نقوم بتنفيذ ثلاثة أوامر بالتناوب:

  • إنشاء كتلة: kind create cluster --config 3node.yaml --name=hol
  • تحميل ملف KUBECONFIG: export KUBECONFIG="$(kind get kubeconfig-path --name="hol")"
  • إخراج العقدة: kubectl get nodes

تقديم التحكم في مهمة Tanzu

الآن يجب إضافة المجموعة التي أنشأناها إلى Tanzu Mission Control. من PuTTY نعود إلى Chrome، انتقل إلى المجموعات وانقر إرفاق الكتلة.
حدد مجموعة من القائمة المنسدلة - الافتراضي، أدخل الاسم الذي اقترحه المختبر وانقر فوق سجل .

تقديم التحكم في مهمة Tanzu

انسخ الأمر المستلم وانتقل إلى PuTTY.

تقديم التحكم في مهمة Tanzu

نقوم بتنفيذ الأمر المستلم.

تقديم التحكم في مهمة Tanzu

لتتبع التقدم، قم بتشغيل أمر آخر: watch kubectl get pods -n vmware-system-tmc. نحن ننتظر حتى يكون لجميع الحاويات حالة الركض أو الطلب مكتمل.

تقديم التحكم في مهمة Tanzu

ارجع إلى Tanzu Mission Control وانقر التحقق من الاتصال. إذا سارت الأمور على ما يرام، يجب أن تكون مؤشرات جميع الشيكات خضراء.

تقديم التحكم في مهمة Tanzu

لنقم الآن بإنشاء مجموعة جديدة من المجموعات ونشر مجموعة جديدة هناك. انتقل إلى مجموعات الكتلة وانقر فوق مجموعة عنقودية جديدة. أدخل الاسم وانقر خلق.

تقديم التحكم في مهمة Tanzu

يجب أن تظهر المجموعة الجديدة على الفور في القائمة.

تقديم التحكم في مهمة Tanzu

دعونا ننشر مجموعة جديدة: انتقل إلى مجموعات، يضعط مجموعة جديدة وحدد الخيار المرتبط بالعمل المخبري.

تقديم التحكم في مهمة Tanzu

دعونا نضيف اسم المجموعة، ونحدد المجموعة المخصصة لها - في حالتنا، التدريب العملي - ومنطقة النشر.

تقديم التحكم في مهمة Tanzu

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

تقديم التحكم في مهمة Tanzu

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

تقديم التحكم في مهمة Tanzu

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

تقديم التحكم في مهمة Tanzu

بعد النشر الناجح ستظهر لك هذه الصورة يجب أن تكون جميع الإيصالات باللون الأخضر.

تقديم التحكم في مهمة Tanzu

نحتاج الآن إلى تنزيل ملف KUBECONFIG لإدارة المجموعة باستخدام أوامر kubectl القياسية. يمكن القيام بذلك مباشرة من خلال واجهة مستخدم Tanzu Mission Control. قم بتنزيل الملف وتابع تنزيل Tanzu Mission Control CLI بالنقر فوق انقر هنا.

تقديم التحكم في مهمة Tanzu

حدد الإصدار المطلوب وقم بتنزيل CLI.

تقديم التحكم في مهمة Tanzu

نحن الآن بحاجة إلى الحصول على رمز واجهة برمجة التطبيقات (API Token). للقيام بذلك، انتقل إلى حسابي وإنشاء رمز مميز جديد.

تقديم التحكم في مهمة Tanzu

املأ الحقول وانقر انشاء.

تقديم التحكم في مهمة Tanzu

انسخ الرمز المميز الناتج وانقر فوق متابعة. افتح Power Shell وأدخل أمر tmc-login، ثم الرمز المميز الذي استلمناه ونسخناه في الخطوة السابقة، ثم اسم سياق تسجيل الدخول. يختار info سجلات من تلك المقترحة والمنطقة و أوليمبوس الافتراضي كمفتاح SSH.

تقديم التحكم في مهمة Tanzu

نحصل على مساحات الأسماء:kubectl --kubeconfig=C:UsersAdministratorDownloadskubeconfig-aws-cluster.yml get namespaces.

يدخل kubectl --kubeconfig=C:UsersAdministratorDownloadskubeconfig-aws-cluster.yml get nodesللتأكد من أن كافة العقد في الحالة استعداد.

تقديم التحكم في مهمة Tanzu

الآن يتعين علينا نشر تطبيق صغير في هذه المجموعة. لنقم بعمل عمليتي نشر - القهوة والشاي - في شكل خدمات Coffee-svc وtea-svc، كل واحدة منهما تطلق صورًا مختلفة - nginxdemos/hello وnginxdemos/hello:plain-text. هذا يفعل كما يلي.

من خلال بوويرشيل انتقل إلى التنزيلات وابحث عن الملف Cafe-services.yaml.

تقديم التحكم في مهمة Tanzu

نظرًا لبعض التغييرات في واجهة برمجة التطبيقات (API)، سيتعين علينا تحديثها.

يتم تمكين سياسات أمان Pod بشكل افتراضي. لتشغيل التطبيقات ذات الامتيازات، يجب عليك ربط حسابك.

إنشاء ملزمة: kubectl --kubeconfig=kubeconfig-aws-cluster.yml create clusterrolebinding privileged-cluster-role-binding --clusterrole=vmware-system-tmc-psp-privileged --group=system:authenticated
دعونا نشر التطبيق: kubectl --kubeconfig=kubeconfig-aws-cluster.yml apply -f cafe-services.yaml
نتحقق من: kubectl --kubeconfig=kubeconfig-aws-cluster.yml get pods

تقديم التحكم في مهمة Tanzu

تم الانتهاء من الوحدة 2، أنت جميلة ومذهلة! نوصي بإكمال الوحدات المتبقية بنفسك، بما في ذلك إدارة السياسات وفحوصات الامتثال.

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

آراء واستنتاجات

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

فوائد مراقبة مهمة Tanzu

تبين أن النظام مثير للاهتمام حقًا. أود أن أسلط الضوء على الفور على بعض الأشياء الجيدة المريحة والمفيدة:

  • يمكنك إنشاء مجموعات من خلال لوحة الويب ومن خلال وحدة التحكم التي سيحبها المطورون حقًا.
  • يتم تنفيذ إدارة RBAC من خلال مساحات العمل في واجهة المستخدم. إنها لا تعمل في المختبر بعد، لكنها من الناحية النظرية شيء عظيم.
  • إدارة الامتيازات المركزية القائمة على القالب
  • الوصول الكامل إلى مساحات الأسماء.
  • محرر YAML.
  • إنشاء سياسات الشبكة.
  • مراقبة صحة المجموعة.
  • القدرة على النسخ الاحتياطي والاستعادة عبر وحدة التحكم.
  • إدارة الحصص والموارد مع تصور الاستخدام الفعلي.
  • الإطلاق التلقائي للتفتيش العنقودي.

مرة أخرى، هناك العديد من المكونات قيد التطوير حاليًا، لذا من السابق لأوانه التحدث بشكل كامل عن إيجابيات وسلبيات بعض الأدوات. بالمناسبة، يمكن لـ Tanzu MC، بناءً على العرض التوضيحي، ترقية المجموعة بسرعة، وبشكل عام، توفير دورة الحياة الكاملة للمجموعة لموفرين متعددين في وقت واحد.

فيما يلي بعض الأمثلة "عالية المستوى".

إلى مجموعة شخص آخر بميثاقها الخاص

لنفترض أن لديك فريق تطوير له أدوار ومسؤوليات محددة بوضوح. الجميع مشغولون بشؤونهم الخاصة ولا ينبغي لهم حتى أن يتدخلوا عن طريق الخطأ في عمل زملائهم. أو يضم الفريق واحدًا أو أكثر من المتخصصين الأقل خبرة الذين لا ترغب في منحهم حقوقًا وحريات غير ضرورية. لنفترض أيضًا أن لديك Kubernetes من ثلاثة موفري خدمات في وقت واحد. وفقا لذلك، من أجل الحد من الحقوق وإحضارها إلى قاسم مشترك، سيتعين عليك الذهاب إلى كل لوحة تحكم واحدة تلو الأخرى وتسجيل كل شيء يدويًا. أوافق، وليس هواية الأكثر إنتاجية. وكلما زادت الموارد المتاحة لك، زادت صعوبة العملية. سيسمح لك برنامج Tanzu Mission Control بإدارة تحديد الأدوار من خلال "نافذة واحدة". في رأينا، هذه وظيفة مريحة للغاية: لن يكسر أحد أي شيء إذا نسيت عن طريق الخطأ تحديد الحقوق اللازمة في مكان ما.

بالمناسبة، زملائنا من MTS في مدونتهم مقارنة Kubernetes من البائع ومفتوح المصدر. إذا كنت تريد منذ فترة طويلة معرفة الاختلافات وما الذي تبحث عنه عند الاختيار، فمرحبًا بك.

العمل المضغوط مع السجلات

مثال آخر من الحياة الواقعية هو العمل مع السجلات. لنفترض أن الفريق لديه أيضًا مُختبر. في أحد الأيام، يأتي إلى المطورين ويعلن: "تم العثور على خطأ في التطبيق، وسوف نقوم بإصلاحه على وجه السرعة". من الطبيعي أن أول ما يرغب المطور في التعرف عليه هو السجلات. إرسالها كملفات عبر البريد الإلكتروني أو Telegram هو سلوك سيء في القرن الماضي. يوفر Mission Control بديلاً: يمكنك تعيين حقوق خاصة للمطور حتى يتمكن من قراءة السجلات في مساحة اسم محددة فقط. في هذه الحالة، يحتاج المختبر فقط إلى القول: "هناك أخطاء في تطبيق كذا وكذا، في حقل كذا وكذا، في مساحة اسم كذا وكذا"، ويمكن للمطور فتح السجلات بسهولة ويكون قادرًا على التوطين المشكلة. ونظرًا للحقوق المحدودة، لن تتمكن من إصلاح الأمر على الفور إذا كانت كفاءتك لا تسمح بذلك.

الكتلة الصحية لها تطبيق صحي.

ميزة أخرى رائعة لـ Tanzu MC هي تتبع صحة المجموعة. انطلاقا من المواد الأولية، يتيح لك النظام عرض بعض الإحصائيات. في الوقت الحالي، من الصعب تحديد مدى تفصيل هذه المعلومات: حتى الآن يبدو كل شيء متواضعًا وبسيطًا. هناك مراقبة لتحميل وحدة المعالجة المركزية وذاكرة الوصول العشوائي، وتظهر حالة جميع المكونات. ولكن حتى في مثل هذا الشكل المتقشف، فهي تفاصيل مفيدة وفعالة للغاية.

نتائج

بالطبع، في العرض المختبري لمراقبة المهمة، في ظروف تبدو معقمة، هناك بعض الحواف الخشنة. من المحتمل أن تلاحظهم أنت بنفسك إذا قررت متابعة العمل. لم يتم تصميم بعض الجوانب بشكل حدسي كافٍ - فحتى المسؤول ذو الخبرة سيتعين عليه قراءة الدليل لفهم الواجهة وإمكانياتها.

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

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

المصدر: www.habr.com

إضافة تعليق