نشر تطبيق عديم الحالة PHP Guestbook مع Redis على مجموعة Kubernetes الممكنة في Azure Arc على Azure Stack Edge Pro GPU

ينطبق على:Yes for Pro GPU SKUAzure Stack Edge Pro - GPUYes for Pro 2 SKUAzure Stack Edge Pro 2Yes for Pro R SKUAzure Stack Edge Pro RYes for Mini R SKUAzure Stack Edge Mini R

توضح لك هذه المقالة كيفية إنشاء ونشر تطبيق ويب بسيط متعدد المستويات باستخدام Kubernetes وAzure Arc. يتكون هذا المثال من المكونات التالية:

  • نسخة Redis رئيسية أحادية المثيل لتخزين guestbook الإدخالات
  • مثيلات Redis متعددة منسوخة نسخا متماثلا لخدمة القراءات
  • مثيلات واجهة ويب الأمامية المتعددة

يتم النشر باستخدام GitOps على مجموعة Kubernetes الممكنة في Azure Arc على جهاز Azure Stack Edge Pro.

هذا الإجراء مخصص للأشخاص الذين راجعوا أحمال عمل Kubernetes على جهاز Azure Stack Edge Pro وهم على دراية بمفاهيم Kubernetes التي تدعم Azure Arc (معاينة).

إشعار

تحتوي هذه المقالة على مراجع لمصطلح slave، وهو مصطلح لم تعد Microsoft تستخدمه. عند إزالة المصطلح من البرنامج، سنزيله من هذه المقالة.

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

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

للجهاز

  1. لديك بيانات اعتماد تسجيل الدخول إلى جهاز Azure Stack Edge Pro مكون من عقدة واحدة.

    1. تم تنشيط الجهاز. راجع تنشيط الجهاز.
    2. يحتوي الجهاز على دور الحساب الذي تم تكوينه عبر مدخل Microsoft Azure ولديه مجموعة Kubernetes. راجع تكوين الحساب.
  2. لقد قمت بتمكين Azure Arc على مجموعة Kubernetes الموجودة على جهازك ولديك مورد Azure Arc مطابق في مدخل Microsoft Azure. للحصول على خطوات مفصلة، راجع تمكين Azure Arc على جهاز Azure Stack Edge Pro.

للعميل الذي يصل إلى الجهاز

  1. لديك نظام عميل Windows سيتم استخدامه للوصول إلى جهاز Azure Stack Edge Pro.

    • يقوم العميل بتشغيل Windows PowerShell 5.0 أو أحدث. لتنزيل أحدث إصدار من Windows PowerShell، انتقل إلى تثبيت Windows PowerShell.

    • يمكنك الحصول على أي عميل آخر مع نظام تشغيل مدعوم أيضا. توضح هذه المقالة الإجراء عند استخدام عميل Windows.

  2. لقد أكملت الإجراء الموضح في Access the Kubernetes cluster على جهاز Azure Stack Edge Pro. أنت لديك:

    • مثبت kubectl على العميل.

    • تأكد من أن kubectl إصدار العميل منحرف لا يزيد عن إصدار واحد من إصدار Kubernetes الرئيسي الذي يعمل على جهاز Azure Stack Edge Pro.

      • استخدم kubectl version للتحقق من إصدار kubectl الذي يعمل على العميل. دون النسخة الكاملة.
      • في واجهة المستخدم المحلية لجهاز Azure Stack Edge Pro، انتقل إلى نظرة عامة ولاحظ رقم برنامج Kubernetes.
      • تحقق من هذين الإصدارين للتوافق من التعيين المتوفر في إصدار Kubernetes المدعوم.
  3. لديك تكوين GitOps يمكنك استخدامه لتشغيل توزيع Azure Arc. في هذا المثال، ستستخدم الملفات التالية yaml للنشر على جهاز Azure Stack Edge Pro.

    • frontend-deployment.yaml
    • frontend-service.yaml
    • redis-master-deployment.yaml
    • redis-master-service.yaml
    • redis-slave-deployment.yaml
    • redis-slave-service.yaml

نشر التكوين

اتبع هذه الخطوات لتكوين مورد Azure Arc لنشر تكوين GitOps عبر مدخل Microsoft Azure:

  1. في مدخل Azure، انتقل إلى مورد Azure Arc الذي قمت بإنشائه عند تمكين Azure Arc على مجموعة Kubernetes على جهازك.

    Go to Azure Arc resource

  2. انتقل إلى Configurations وحدد + Add configuration.

    Screenshot shows the Azure Arc-enabled Kubernetes cluster with Add configuration selected.

  3. حدد ملحق Flux الإصدار 1.

  4. في إضافة تكوين GitOps، أدخل القيم المناسبة للحمولات، ثم حدد إضافة.

    المعلمة ‏‏الوصف‬
    اسم التهيئة اسم مورد التكوين.
    اسم مثيل عامل التشغيل اسم مثيل عامل التشغيل لتحديد تكوين معين. الاسم عبارة عن سلسلة بحد أقصى 253 حرفا يجب أن تكون صغيرة أبجدية رقمية وواصلة ونقطة فقط.
    مساحة اسم عامل التشغيل قم بتعيين إلى demotestguestbook لمطابقة مساحة الاسم المحددة في النشر yaml.
    يعرف الحقل مساحة الاسم حيث تم تثبيت عامل التشغيل. الاسم عبارة عن سلسلة بحد أقصى 253 حرفا يجب أن تكون صغيرة أبجدية رقمية وواصلة ونقطة فقط.
    عنوان Url الخاص بالمستودع
    المسار إلى مستودع git أو http://github.com/username/repogit://github.com/username/repo تنسيقه حيث يوجد تكوين GitOps الخاص بك.
    نطاق عامل التشغيل حدد مساحة الاسم.
    تحدد هذه المعلمة النطاق الذي تم تثبيت عامل التشغيل فيه. حدد مساحة الاسم لتثبيت عامل التشغيل في مساحة الاسم المحددة في ملفات yaml للتوزيع.
    نوع العامل اتركه افتراضيا.
    تحدد هذه المعلمة نوع عامل التشغيل - بشكل افتراضي، يتم تعيينه على أنه flux.
    معلمات عامل التشغيل اترك هذا فارغا.
    تحتوي هذه المعلمة على معلمات لتمريرها إلى عامل تشغيل flux.
    Helm اترك خانة الاختيار هذه غير محددة.
    قم بتمكين هذا الخيار إذا كنت ستقوم عمليات النشر المستندة إلى المخطط.

    Add configuration

  5. يبدأ نشر التكوين وتظهر حالة عامل التشغيل على أنها معلقة.

    Screenshot shows the Azure Arc-enabled Kubernetes cluster in a pending state as it refreshes.

  6. يستغرق النشر بضع دقائق. عند اكتمال النشر، تظهر حالة عامل التشغيل على أنها مثبتة.

    Screenshot shows the Azure Arc-enabled Kubernetes cluster in an installed state.

تحقق من النشر

يؤدي النشر عبر تكوين GitOps إلى demotestguestbook إنشاء مساحة اسم كما هو محدد في ملفات التوزيع yaml الموجودة في git repo.

  1. بعد تطبيق تكوين GitOps، الاتصال إلى واجهة PowerShell للجهاز.

  2. قم بتشغيل الأمر التالي لسرد الحجيرات التي تعمل في demotestguestbook مساحة الاسم المطابقة للتوزيع.

    kubectl get pods -n <your-namespace>

    وفيما يلي عينة إخراج.

    [10.128.44.240]: PS>kubectl get pods -n demotestguestbook
    NAME                            READY   STATUS    RESTARTS   AGE
    aseoperator1-5569658644-cqtb5   1/1     Running   0          91m
    frontend-6cb7f8bd65-4xb4f       1/1     Running   0          91m
    frontend-6cb7f8bd65-q9cxj       1/1     Running   0          91m
    frontend-6cb7f8bd65-xpzs6       1/1     Running   0          91m
    memcached-86bdf9f56b-5l2fq      1/1     Running   0          91m
    redis-master-7db7f6579f-2z29w   1/1     Running   0          91m
    redis-slave-7664787fbc-lgr2n    1/1     Running   0          91m
    redis-slave-7664787fbc-vlvzn    1/1     Running   0          91m
    [10.128.44.240]: PS>
    
  3. في هذا المثال، تم نشر خدمة الواجهة الأمامية كنوع:LoadBalancer. ستحتاج إلى العثور على عنوان IP لهذه الخدمة لعرض guestbook. قم بتشغيل الأمر التالي.

    kubectl get service -n <your-namespace>

    [10.128.44.240]: PS>kubectl get service -n demotestguestbook
    NAME           TYPE           CLUSTER-IP       EXTERNAL-IP     PORT(S)        AGE
    frontend       LoadBalancer   10.96.79.38      10.128.44.245   80:31238/TCP   85m
    memcached      ClusterIP      10.102.47.75     <none>          11211/TCP      85m
    redis-master   ClusterIP      10.104.32.99     <none>          6379/TCP       85m
    redis-slave    ClusterIP      10.104.215.146   <none>          6379/TCP       85m
    [10.128.44.240]: PS>
    
  4. تحتوي خدمة الواجهة الأمامية على type:LoadBalancer عنوان IP خارجي. هذا IP من نطاق عنوان IP الذي حددته للخدمات الخارجية عند تكوين إعدادات شبكة الحساب على الجهاز. استخدم عنوان IP هذا لعرض في guestbook عنوان URL: https://<external-IP-address>.

    View guestbook

حذف النشر

لحذف النشر، يمكنك حذف التكوين من مدخل Microsoft Azure. سيؤدي حذف التكوين إلى حذف الكائنات التي تم إنشاؤها، بما في ذلك عمليات النشر والخدمات.

  1. في مدخل Microsoft Azure، انتقل إلى تكوينات مورد > Azure Arc.
  2. حدد موقع التكوين الذي تريد حذفه. حدد ... لاستدعاء قائمة السياق وتحديد Delete. Delete configuration

قد يستغرق حذف التكوين عدة دقائق.

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

تعرف على كيفية استخدام لوحة معلومات Kubernetes لمراقبة عمليات النشر على جهاز Azure Stack Edge Pro