تكوينات GitOps Flux v1 مع Kubernetes التي تدعم Azure Arc

هام

المستندات الموجودة في هذا القسم مخصصة ل GitOps مع Flux v1. يتوفر GitOps مع Flux v2 الآن لمجموعات Kubernetes وAzure Kubernetes Service (AKS) الممكنة في Azure Arc؛ تعرف على GitOps مع Flux v2. نوصي بالترحيل إلى Flux v2 في أقرب وقت ممكن.

سينتهي دعم موارد تكوين نظام المجموعة المستندة إلى Flux v1 التي تم إنشاؤها قبل 1 يناير 2024 في 24 مايو 2025. بدءا من 1 يناير 2024، لن تتمكن من إنشاء موارد تكوين نظام المجموعة الجديدة المستندة إلى Flux v1.

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

  • بيانات بتنسيق YAML تصف أي موارد Kubernetes صالحة، بما في ذلك مساحات الأسماء والتكوين الخرائط والنشرات و DaemonSets وما إلى ذلك.
  • مخططات Helm لنشر التطبيقات.

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

تكوينات

Configurations architecture

يتم إنشاء الاتصال بين نظام المجموعة ومستودع Git كمورد تكوين (Microsoft.KubernetesConfiguration/sourceControlConfigurations) أعلى مورد Kubernetes الذي يدعم Azure Arc (ممثلا ب Microsoft.Kubernetes/connectedClusters) في Azure Resource Manager.

تستخدم خصائص مورد التكوين لنشر عامل تشغيل Flux على نظام المجموعة مع المعلمات المناسبة، مثل مستودع Git الذي يتم سحب البيانات منه وفاصل الاستقصاء الذي يتم سحبها عنده. يتم تخزين بيانات مورد التكوين مشفرة في حالة الثبات في قاعدة بيانات Azure Cosmos DB لضمان سرية البيانات.

التشغيل config-agent في نظام المجموعة الخاص بك مسؤول عن:

  • تعقب موارد التكوين الجديدة أو المحدثة على مورد Kubernetes الذي يدعم Azure Arc.
  • نشر عامل تشغيل Flux لمشاهدة مستودع Git لكل مورد تكوين.
  • تطبيق أي تحديثات تم إجراؤها على أي مورد تكوين.

يمكنك إنشاء موارد تكوين متعددة ذات نطاق مساحة اسم على نفس مجموعة Kubernetes الممكنة في Azure Arc لتحقيق إيجار متعدد.

إشعار

  • config-agent مراقبة موارد التكوين الجديدة أو المحدثة لتكون متاحة على مورد Kubernetes الذي يدعم Azure Arc. وبالتالي تتطلب العوامل الاتصال للحالة المطلوبة ليتم سحبها إلى نظام المجموعة. إذا كان العاملون غير قادرين على الاتصال ب Azure، فهناك تأخير في نشر الحالة المطلوبة إلى نظام المجموعة.
  • لا يتم تخزين مدخلات العملاء الحساسة مثل المفتاح الخاص ومحتوى المضيفين المعروف واسم مستخدم HTTPS والرمز المميز/كلمة المرور لأكثر من 48 ساعة في خدمات Kubernetes التي تدعم Azure Arc. إذا كنت تستخدم مدخلات حساسة للتكوينات، فجلب المجموعات عبر الإنترنت بانتظام قدر الإمكان.

تطبيق التكوينات على نطاق واسع

نظرا لأن Azure Resource Manager يدير التكوينات الخاصة بك، يمكنك أتمتة إنشاء نفس التكوين عبر جميع موارد Kubernetes الممكنة في Azure Arc باستخدام نهج Azure، ضمن نطاق اشتراك أو مجموعة موارد.

يضمن هذا الإنفاذ على نطاق واسع إمكانية تطبيق تكوين أساسي مشترك (يحتوي على تكوينات مثل ClusterRoleBindings و RoleBindings وNetworkPolicy) عبر أسطول كامل أو مخزون من مجموعات Kubernetes التي تدعم Azure Arc.

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