نشر التطبيقات وتشغيلها مع تمكين AKS بواسطة Arc على Azure Stack HCI أو Windows Server

Azure Kubernetes Service (AKS)
Azure Stack HCI
Azure Arc
GitHub
Azure Pipelines

توفر المعلومات الواردة في هذه المقالة توصيات لإنشاء مسار توزيع تطبيق للتطبيقات المعبأة في حاويات على خدمة Azure Kubernetes التي تم تمكينها بواسطة Azure Arc. يمكن تشغيل التطبيقات على Azure Stack HCI أو Windows Server. على وجه التحديد، الإرشادات مخصصة للتوزيعات التي تستخدم Azure Arc وGitOps.

هام

تنطبق المعلومات الواردة في هذه المقالة على AKS على Azure Stack HCI الإصدار 22H2، وAKS-HCI على Windows Server. يتم تشغيل أحدث إصدار من AKS على Azure Stack HCI 23H2. لمزيد من المعلومات حول أحدث إصدار، راجع وثائق AKS على الإصدار 23H2 من Azure Stack HCI.

بناء الأنظمة

رسم تخطيطي يوضح بنية لمجموعات AKS التي تعمل على Azure Stack HCI أو Windows Server.

قم بتنزيل ملف Visio لهذه البنية.

‏‏سير العمل‬

توضح البنية تنفيذا ينشر التطبيقات المعبأة في حاويات على مجموعات AKS التي تعمل على Azure Stack HCI أو Windows Server. ويستخدم GitOps لإدارة البنية الأساسية كتعليق برمجي (IaC).

  1. يقوم عامل التشغيل بإعداد بنية أساسية محلية على Azure Stack HCI أو على أجهزة Windows Server القادرة على استضافة نظام مجموعة AKS.
  2. محليا، يقوم المسؤول بنشر نظام مجموعة AKS على البنية الأساسية Azure Stack HCI أو Windows Server ويربط نظام المجموعة ب Azure باستخدام Azure Arc. لتمكين GitOps، يقوم المسؤول أيضا بنشر ملحق Flux وتكوينه إلى نظام مجموعة AKS.
  3. تسهل تكوينات GitOps IaC. تمثل تكوينات GitOps هذه الحالة المطلوبة لمجموعة AKS وتستخدم المعلومات التي توفرها الإدارة المحلية. تشير الإدارة المحلية إلى أدوات الإدارة والواجهات والممارسات التي توفرها مجموعة AKS التي تم نشرها على Azure Stack HCI أو Windows Server.
  4. يدفع المسؤول تكوينات GitOps إلى مستودع Git. يمكنك أيضا استخدام مستودع Helm أو Kustomize. تراقب مكونات Flux في مجموعة AKS المستودع للتغييرات، والكشف عن التحديثات وتطبيقها حسب الحاجة.
  5. يتلقى ملحق Flux في نظام مجموعة AKS إشعارا من تدفق GitOps عند إجراء تغييرات على التكوينات في المستودعات. يقوم تلقائيا بتشغيل توزيع التكوين المطلوب باستخدام مخططات Helm أو Kustomize.
  6. يتم دفع تغييرات التطبيق في شكل تكوين أو تعليمة برمجية جديدة أو محدثة إلى المستودعات المعينة، بما في ذلك تحديثات صورة الحاوية المقابلة. يتم دفع تحديثات صورة الحاوية هذه إلى سجلات الحاويات الخاصة أو العامة.
  7. يكشف عامل تشغيل Flux في نظام مجموعة AKS عن التغييرات في المستودعات ويبدأ توزيعها إلى نظام المجموعة.
  8. يتم تنفيذ التغييرات بطريقة متجددة على نظام المجموعة لضمان الحد الأدنى من وقت التعطل والحفاظ على الحالة المطلوبة للمجموعة.

المكونات

  • Azure Stack HCI هو حل بنية أساسية (HCI) شديد التقارب يمكنك استخدامه لتشغيل أحمال العمل الظاهرية محليا. ويستخدم مزيجا من تقنيات الحوسبة والتخزين والشبكات المعرفة بالبرامج. تم إنشاؤها على رأس Windows Server وتتكامل مع خدمات Azure لتوفير تجربة سحابة مختلطة.
  • تمكن AKS على Azure Stack HCI المطورين والمسؤولين من استخدام AKS لنشر التطبيقات الحاوية وإدارتها على Azure Stack HCI.
  • Azure Arc هو حل إدارة سحابة مختلط يمكنك استخدامه لإدارة الخوادم ومجموعات Kubernetes والتطبيقات عبر بيئات محلية ومتعددة السحابة وبيئات الحافة. يوفر تجربة إدارة موحدة من خلال تمكينك من التحكم في الموارد عبر بيئات مختلفة باستخدام خدمات إدارة Azure مثل Azure Policy وMicrosoft Defender for Cloud وAzure Monitor.
  • يمكن لمستودعات Git وHelm وBitbucket (العامة والخاصة) استضافة تكوينات GitOps، بما في ذلك مستودعات Azure DevOps وGitHub.
  • سجلات الحاويات (العامة والخاصة)، بما في ذلك Azure Container Registry وDocker Hub، تستضيف صور الحاوية.
  • Azure Pipelines هي خدمة تكامل مستمر (CI) وتسليم مستمر (CD) تعمل على أتمتة التحديثات للمستودعات والسجلات.
  • Flux هي أداة نشر GitOps مفتوحة المصدر يمكن أن تستخدمها مجموعات Kubernetes التي تدعم Azure Arc. يمكنك استخدام اتصال Azure Arc لتنفيذ مكونات نظام المجموعة التي تتعقب التغييرات على مستودعات Git أو Helm أو Kustomize التي تقوم بتعيينها وتطبيقها على المجموعة المحلية. يراجع عامل تشغيل Flux بشكل دوري (أو يستند إلى مشغل) تكوين نظام المجموعة الحالي للتأكد من أنه يطابق التكوين الموجود في المستودع. إذا اكتشف الاختلافات، يقوم Flux بتجهيسها عن طريق تطبيق أو، في حالة انحراف التكوين، إعادة تطبيق التكوين المطلوب.

تفاصيل السيناريو

يتطلب تشغيل الحاويات على نطاق واسع منسقا لأتمتة الجدولة والنشر والشبكات والتحجيم والمراقبة الصحية وإدارة الحاويات. Kubernetes هو منسق شائع الاستخدام لعمليات النشر الجديدة في حاويات. مع نمو عدد مجموعات وبيئات Kubernetes، يمكن أن تكون إدارتها بشكل فردي أمرا صعبا. يؤدي استخدام الخدمات التي تدعم Azure Arc مثل Kubernetes التي تدعم Azure Arc وGitOps وAzure Monitor وAzure Policy إلى تقليل العبء الإداري والمساعدة في مواجهة هذا التحدي.

الاعتبارات

تنفذ هذه الاعتبارات ركائز Azure Well-Architected Framework، وهو عبارة عن مجموعة من المبادئ التوجيهية التي يمكن استخدامها لتحسين جودة حمل العمل. لمزيد من المعلومات، يرجى مراجعةMicrosoft Azure Well-Architected Framework.

يوفر إطار العمل المصمم جيدا مبادئ توجيهية تساعد في تقييم وتحسين فوائد الحلول المستندة إلى السحابة. نظرا للتكامل المتأصل في عمليات نشر AKS المحلية مع تقنيات Azure، فمن المناسب تطبيق توصيات إطار العمل على تصميم وتنفيذ GitOps.

الموثوقيه

تضمن الموثوقية أن التطبيق الخاص بك يمكنه الوفاء بالالتزامات التي قطعتها على عملائك. لمزيد من المعلومات، يرجى مراجعة نظرة عامة على ركيزة الموثوقية.

  • استخدم ميزات قابلية الوصول العالية ل Kubernetes لضمان موثوقية عالية في الحلول المستندة إلى GitOps.
  • استخدم Flux v2 لزيادة توفر التطبيق في عمليات النشر التي تمتد عبر مواقع أو مجموعات متعددة.
  • استخدم عمليات النشر التلقائية لتقليل إمكانية حدوث خطأ بشري.
  • دمج البنية الأساسية لبرنامج ربط العمليات التجارية CI/CD في البنية الخاصة بك لتحسين فعالية الاختبار التلقائي.
  • تعقب جميع تغييرات التعليمات البرمجية بحيث يمكنك تحديد المشاكل وحلها بسرعة. لتعقب هذه التغييرات التشغيلية، استخدم الإمكانات المضمنة ل GitHub أو Azure DevOps. يمكنك استخدام هذه الأدوات لتنفيذ النهج والتشغيل التلقائي للتأكد من تعقب التغييرات واتباع عملية الموافقة المناسبة وقابلة للصيانة.

الأمان

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

  • فهم الفوائد الأمنية للبنية. باستخدام البنية الأساسية لبرنامج ربط العمليات التجارية Flux v2 وKustomize وGitOps وDevOps، يتم تطبيق التغييرات التشغيلية عبر الأتمتة. يمكنك التحكم في التعليمات البرمجية التي تنفذ هذه الممارسات التشغيلية وتدقيمها من خلال الاستفادة من آليات مثل حماية الفرع ومراجعات طلب السحب والمحفوظات غير القابلة للتغيير. يزيل نهج IaC الحاجة إلى إدارة الأذونات للوصول إلى البنية الأساسية ويدعم مبدأ الامتياز الأقل. يسهل دعم Flux لمساحة الاسم نطاق التكوين المستند إلى سيناريوهات متعددة المستأجرين.

  • فهم التشفير. للمساعدة في ضمان أمان البيانات، تقوم خدمة تكوين نظام المجموعة بتخزين بيانات مورد تكوين Flux في قاعدة بيانات Azure Cosmos DB وتشفيرها في حالة الثبات.

  • ضع في اعتبارك استخدام نقاط النهاية الخاصة. يدعم GitOps Azure Private Link للاتصال بالخدمات المتعلقة ب Azure Arc.

استخدام نهج Azure وAzure Arc

يوسع Azure Arc نطاق إدارة الموارد خارج Azure. يوفر النطاق الموسع مجموعة من المزايا التي تنطبق على الخوادم الفعلية والظاهرية. وفي سياق AKS، تشمل هذه المزايا ما يلي:

  • الحوكمة. يمكن ل Azure Arc فرض حوكمة وقت التشغيل التي تؤثر على مجموعات AKS ووحدات الجراب الخاصة بها باستخدام نهج Azure ل Kubernetes والإبلاغ المركزي عن توافق النهج المقابل. يمكنك استخدام هذه الإمكانية، على سبيل المثال، لفرض استخدام HTTPS لحركة مرور الدخول التي تستهدف مجموعة Kubernetes، أو للتأكد من أن الحاويات تستمع فقط إلى منافذ معينة تقوم بتعيينها.
  • عمليات محسنة. يوفر Azure Arc دعما محسنا لتكوين نظام المجموعة التلقائي عبر GitOps.

يسهل نهج Azure إدارة GitOps المركزية عبر تعريف نهج مجموعة Deploy GitOps المدمج في Kubernetes. بعد تعيين هذا النهج، فإنه يطبق تلقائيا أي تكوين يستند إلى GitOps تختاره على مجموعات Kubernetes الممكنة في Azure Arc التي تقوم بتعيينها، إذا كانت موارد Azure Resource Manager الخاصة بها في نطاق التعيين.

تحسين التكلفة

يتعلق تحسين التكلفة بخفض النفقات غير الضرورية وتحسين الكفاءة التشغيلية. لمزيد من المعلومات، راجع نظرة عامة على ركيزة تحسين التكلفة.

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

  • استخدم AKS الذي تم تمكينه بواسطة Arc. يوفر AKS Arc دعما مدمجا للتحجيم التلقائي لموارد الحوسبة وزيادة كثافة حمل العمل المتأصلة في التعبئة في حاويات. يمكن أن يساعدك التحجيم التلقائي في تغيير حجم البنية الأساسية المادية الخاصة بك وتسريع مبادرات دمج مراكز البيانات، والتي يمكن أن تساعدك على توفير المال.

التميز التشغيلي

يغطي التميز التشغيلي عمليات التشغيل التي تحافظ على تشغيل التطبيق في الإنتاج. لمزيد من المعلومات، يرجى مراجعةنظرة عامة على ركيزة التميز التشغيلي.

  • استخدم مستودعات GitOps لتوفير مصدر واحد للحقيقة يخزن جميع تطبيقات AKS وبيانات البنية الأساسية لنظام المجموعة. يمكن أن تكون هذه المستودعات بمثابة المكون الوحيد الذي يطبق التغييرات على نظام المجموعة.

  • استفد من تكامل GitOps مع نهج DevOps للبنية الأساسية لتقليل الوقت المطلوب لتقديم إصدارات برامج جديدة. نوصي أيضا باستخدام Azure Resource Manager وAzure Arc لإنشاء نموذج تشغيلي متسق لأحمال العمل المستندة إلى السحابة والمعبأة في حاويات محلية. للتحكم في تكوينات GitOps على مستويات مختلفة، استخدم نهج Azure جنبا إلى جنب مع قدرات عوامل تشغيل Flux. من خلال القيام بذلك، يمكنك إنشاء عنصر تحكم على مستوى المؤسسة، على مستوى مجموعة AKS فردية، أو حتى على مستوى مساحات أسماء محددة داخل نظام مجموعة.

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

  • إنشاء تكوينات GitOps على مستوى مساحة الاسم التي تمكنك من التحكم في موارد أحمال العمل الخاصة بك على مستوى أكثر دقة (على سبيل المثال، القرون والخدمات ومسارات الدخول)، وبالتالي تأكد من أن أحمال العمل الخاصة بك تتوافق مع معايير التطبيق. باتباع هذه الإرشادات، يمكنك التأكد من أن توزيع وإدارة تطبيقات AKS Arc يظل فعالا وفعالا من حيث التكلفة.

استخدام GitOps

يعد GitOps تطابقا رائعا لإدارة مجموعات AKS. يعتمد Kubernetes على النموذج التعريفي. يتم وصف حالة نظام المجموعة ومكوناتها في التعليمات البرمجية. يخزن GitOps هذه التعليمة البرمجية في مستودع Git ويستخدمها لتحديد الحالة المطلوبة للبيئة المستهدفة.

تخضع تغييرات التعليمات البرمجية للتحكم في الإصدار والتدقيق والمراجعات والموافقات الاختيارية. يمكنك استخدام المراجعات والموافقات لتشغيل تحديثات البنية الأساسية ل AKS وأحمال العمل المعبأة في حاويات تلقائيا. يستخدم GitOps نموذج سحب، حيث تقوم مجموعة متخصصة من مكونات نظام المجموعة باستطلاع حالة المستودع. عند الكشف عن تغيير، يقوم مكون GitOps المستضاف على AKS باسترداد التكوين الجديد وتطبيقه.

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

يبسط GitOps توحيد تكوينات نظام المجموعة عبر مؤسستك لتلبية متطلبات التوافق والحوكمة. يمكنك تعريف تكوين الأساس الذي تريد تطبيقه على كل نظام مجموعة ومكوناته، بما في ذلك، على سبيل المثال، نهج الشبكة وروابط الأدوار ونهج أمان النظام. لتنفيذ هذا التكوين عبر جميع المجموعات التي تدعم Azure Arc، يمكنك استخدام نهج Azure، واستهداف مجموعات الموارد أو الاشتراكات. تنطبق هذه النهج تلقائيا على الموارد الموجودة وكذلك على الموارد التي يتم إنشاؤها بعد تعيين النهج.

يربط GitOps مجموعتك بمستودع Git واحد أو أكثر. يمكنك استخدام كل مستودع لوصف جوانب مختلفة من تكوين نظام المجموعة. يسهل النموذج التعريفي الناتج أتمتة توفير موارد Kubernetes وإدارتها مثل مساحات الأسماء أو عمليات النشر عبر ملفات البيان الخاصة بها. يمكنك أيضا استخدام مخططات Helm، والتي، جنبا إلى جنب مع Flux v2 وKustomize، تسهل النشر التلقائي للتطبيقات المعبأة في حاويات، أو ملفات Kustomize التي تصف التغييرات الخاصة بالبيئة.

استخدام Flux

يتم تنفيذ Flux كعامل تشغيل Kubernetes. ويستخدم مجموعة من وحدات التحكم وواجهات برمجة التطبيقات التعريفية المقابلة. تدير وحدات التحكم مجموعة من الموارد المخصصة التي تعمل بشكل جماعي لتقديم الوظائف المقصودة.

يتم تمكين GitOps في مجموعة Kubernetes الممكنة في Azure Arc كملحق Microsoft.KubernetesConfiguration/extensions/microsoft.flux نظام المجموعة. بعد تثبيت microsoft.flux ملحق نظام المجموعة، يمكنك إنشاء مورد واحد أو أكثر fluxConfigurations يقوم بمزامنة محتوى مصادر التكوين إلى نظام المجموعة وتسوية نظام المجموعة مع الحالة المطلوبة.

بشكل افتراضي، microsoft.flux يقوم الملحق بتثبيت وحدات تحكم Flux (المصدر وKustomize و Helm و Notification) و FluxConfig Custom Resource Definitions (CRD) fluxconfig-agentو و.fluxconfig-controller يمكنك أيضا اختيار أي من وحدات التحكم هذه التي تريد تثبيتها ويمكنك تثبيت Flux image-automation ووحدات image-reflector التحكم اختياريا، ما يسهل تحديث صور Docker واستردادها.

عند إنشاء fluxConfigurations مورد، يتم استخدام القيم التي توفرها للمعلمات، مثل مستودع Git الهدف، لإنشاء وتكوين كائنات Kubernetes التي تمكن وظيفة GitOps على نظام المجموعة.

عند نشر وتكوين ملحقات نظام مجموعة Flux v2، فإنه يوفر المكونات والوظائف التالية:

  • source-controller. يراقب مصادر التكوينات المخصصة، مثل مستودعات Git ومستودعات Helm وخدمات التخزين السحابي مثل مستودعات S3، ويتزامن ويأذن مقابل هذه المصادر.
  • kustomize-controller. مراقبة الموارد المخصصة التي تستند إلى Kustomization CRDs، والتي تحتوي على بيانات Kubernetes وملفات YAML الأولية. تطبيق البيانات وملفات YAML على نظام المجموعة.
  • helm-controller. مراقبة الموارد المخصصة التي تستند إلى المخططات وتخزينها في مستودعات Helm التي تظهر بواسطة source-controller.
  • notification-controller. يدير الأحداث الواردة التي تنشأ من مستودع Git والأحداث الصادرة، مثل تلك التي تستهدف Microsoft Teams أو Slack.
  • FluxConfig CRD. يمثل الموارد المخصصة التي تحدد كائنات Kubernetes الخاصة ب Flux.
  • fluxconfig-agent. يكتشف موارد تكوين Flux الجديدة والمحدثة. بدء تحديثات التكوين المقابلة على نظام المجموعة. ينقل تغييرات الحالة إلى Azure.
  • fluxconfig-controller. fluxconfigs مراقبة الموارد المخصصة.

يوفر الإصدار 2 من Flux هذه الميزات الإضافية:

الفئة الميزة
إدارة البنية الأساسية وأحمال العمل إدارة تبعية النشر
التكامل مع التحكم في الوصول المستند إلى دور Kubernetes (RBAC)
التقييمات الصحية للمجموعات وأحمال العمل الخاصة بها
تحديثات صورة الحاوية التلقائية إلى Git، بما في ذلك مسح الصور وتصحيحها
إمكانية التشغيل التفاعلي مع موفري واجهة برمجة تطبيقات نظام المجموعة
الأمن والحوكمة التنبيه إلى الأنظمة الخارجية (عبر مرسلي خطاف الويب)
التحقق من الصحة المستند إلى النهج، بما في ذلك دعم Open Policy Agent Gatekeeper
مسح صورة الحاوية وتصحيحها
التنبيه إلى الأنظمة الخارجية (عبر مرسلي خطاف الويب)
التكامل مع تدفقات GitOps الأخرى التكامل مع مجموعة من موفري Git، بما في ذلك GitHub وGitLab وBitbucket
إمكانية التشغيل التفاعلي مع موفري سير العمل، بما في ذلك إجراءات GitHub

لمزيد من المعلومات، راجع تكوينات GitOps Flux v2 مع AKS وKubernetes التي تدعم Azure Arc.

كفاءة الأداء

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

تستفيد أحمال عمل نظام المجموعة من قابلية التوسع وخفة الحركة المتأصلة في نظام Kubernetes الأساسي. يوفر Flux v2 مرونة إضافية، ما يقلل من الوقت المطلوب لتسليم البرامج من طرف إلى طرف.

  • تحسين مجموعة Kubernetes وإعداد البنية الأساسية لأحمال العمل الخاصة بك. نوصي بالعمل مع مطور التطبيق لتحديد الإعدادات المطلوبة.
  • استخدم ميزة التحجيم التلقائي في Kubernetes. لمزيد من المعلومات، راجع التحجيم التلقائي لنظام المجموعة في AKS الذي تم تمكينه بواسطة Azure Arc.
  • إضافة ذاكرة تخزين مؤقت لتحسين التطبيق.
  • إنشاء أساس الأداء. قياس البنية واستخدام المقاييس وأدوات المراقبة لتحديد أي مشاكل أو اختناقات تؤثر على الأداء.

المساهمون

تحتفظ Microsoft بهذه المقالة. وهي مكتوبة في الأصل من قبل المساهمين التاليين.

الكتاب الرئيسيون:

مساهمون آخرون:

لمشاهدة ملفات تعريف LinkedIn غير العامة، سجل الدخول إلى LinkedIn.

الخطوات التالية