Configurations and GitOps with Azure Arc-enabled Kubernetes

ملاحظة

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

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

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

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

التكوينات

Configurations architecture

يتم إنشاء الاتصال بين مجموعتك ومستودع Git كمورد تكوين () أعلى مورد Kubernetes الذي تم تمكين Azure Arc (Microsoft.KubernetesConfiguration/sourceControlConfigurationsيمثله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 Policy، ضمن نطاق اشتراك أو مجموعة موارد.

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

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