تثبيت Managed Gateway API CRDs على خدمة Azure Kubernetes ‏(AKS)

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

يقوم تثبيت واجهة برمجة تطبيقات البوابة المدارة لخدمة Azure Kubernetes (AKS) بتثبيت تعريفات الموارد المخصصة (CRDs) لواجهة برمجة تطبيقات بوابة Kubernetes. يمكنك تثبيت هذه الأقراص بشكل مستقل عن أي تطبيق محدد لواجهة برمجة تطبيقات البوابة.

ملاحظة

تثبيت واجهة برمجة التطبيقات للبوابة المدارة يقوم فقط بتثبيت وإدارة CRDs الخاصة بواجهة برمجة تطبيقات البوابة. يمكنك استخدام هذه ال CRDs مع تنفيذ واجهة برمجة تطبيقات Gateway الخاصة بك، لكن دعم AKS ينطبق فقط عند استخدام تثبيت واجهة برمجة تطبيقات البوابة المدارة مع إضافة أو امتداد AKS مدعوم ينفذ واجهة Gateway. بروكسيات BYO أو تطبيقات واجهة برمجة تطبيقات البوابة الذاتية الإدارة الأخرى غير مدعومة من قبل AKS.

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

  • إذا كان لديك بالفعل تثبيت قائم لوحدات برمجة تطبيقات Gateway على عنقودك، يجب أن تستوفي المتطلبات التالية:

    • يمكن تثبيت CRDs فقط standard على الشبكة الخاصة بك. Experimental قنوات CRD غير مسموح بها، ويجب عليك إلغاء تثبيتها قبل تفعيل واجهة برمجة تطبيقات البوابة المدارة.
    • يجب أن تكون نسخة حزمة API من Gateway متوافقة مع نسخة Kubernetes الخاصة بمجموعة العناصر. لمزيد من المعلومات، راجع قسم إصدارات Kubernetes المدعومة لإصدارات حزم واجهة برمجة تطبيقات Gateway .
  • اختياريا، يمكنك نشر إضافة أو امتداد AKS ينفذ واجهة Gateway، مثل إضافة Istio. إذا استخدمت إضافة Istio، يجب أن تكون في مراجعة asm-1-26 ثانوية أو لاحقا لضمان التوافق مع تثبيت واجهة برمجة تطبيقات Managed Gateway. لنشر إضافة Istio، انظر Deploy service mesh add-on for خدمة Azure Kubernetes ‏(AKS).

تحديث Azure CLI edition

يجب استخدام azure-cli الإصدار 2.86.0 أو الإصدارات الأحدث. اركض az --version للعثور على نسختك azure-cli ، واركض az upgrade للترقية.

إصدارات Kubernetes المدعومة لإصدارات حزم واجهة برمجة تطبيقات Gateway

يوضح الجدول التالي إصدارات Kubernetes المدعومة لمجموعة AKS الخاصة بك لكل إصدار حزمة API من Gateway للقناة standard :

إصدار حزمة API بوابات إصدارات Kubernetes المدعومة
الإصدار 1.2.1 الإصدار 1.26.0 - الإصدار 1.33.x
الإصدار 1.3.0 v1.34.x
v1.4.1 v1.35.x
v1.5.1 v1.36.0+

ملاحظة

إذا قمت بترقية عنقود AKS الخاص بك إلى إصدار ثانوي جديد بعد تثبيت CRDs من واجهة برمجة التطبيقات Managed Gateway، فإن CRDs تقوم تلقائيا بالترقية إلى إصدار حزمة API المدعومة من Gateway لإصدار Kubernetes هذا. على سبيل المثال، إذا قمت بالترقية من AKS v1.33.0 إلى v1.34.0 وكانت لديك واجهة برمجة تطبيقات البوابة المدارة مثبتة سابقا لإصدار v1.2.1الحزمة، فإن CRDs تقوم تلقائيا بالترقية إلى إصدار v1.3.0الحزمة.

أنشئ عنقود AKS جديد مع تثبيت CRDs لواجهة برمجة التطبيقات Managed Gateway

  • أنشئ عنقود AKS جديد مع تثبيت CRDs لواجهة برمجة التطبيقات Managed Gateway باستخدام az aks create الأمر الذي يحتوي على --enable-gateway-api العلم. يمكنك أيضا تفعيل إضافة مدعومة اختياريا، مثل إضافة شبكة خدمة Istio، في نفس الأمر. الأمر المثال التالي ينشئ عنقود AKS جديد مع تثبيت واجهة برمجة التطبيقات Managed Gateway وإضافة شبكة خدمة Istio مفعلة:

    az aks create --resource-group myResourceGroup --name myAKSCluster --enable-gateway-api --enable-azure-service-mesh
    

تثبيت CRDs لواجهة برمجة التطبيقات Managed Gateway على مجموعة AKS موجودة

  • تثبيت CRDs API Managed Gateway على عنقود موجود باستخدام az aks update الأمر الذي يحتوي على العلامة --enable-gateway-api .

    az aks update --resource-group myResourceGroup --name myAKSCluster --enable-gateway-api
    

تحقق من تثبيت واجهة برمجة تطبيقات البوابة المدارة (CRD)

  1. عرض CRDs المثبتة على مجموعتك باستخدام الأمر التالي kubectl get crds :

    kubectl get crds | grep "gateway.networking.k8s.io"
    

    يجب أن يظهر المخرج CRDs المثبتة، وهي جزء من مواصفة واجهة برمجة تطبيقات Kubernetes Gateway. على سبيل المثال:

    gatewayclasses.gateway.networking.k8s.io                           2025-08-29T17:52:36Z
    gateways.gateway.networking.k8s.io                                 2025-08-29T17:52:36Z
    grpcroutes.gateway.networking.k8s.io                               2025-08-29T17:52:36Z
    httproutes.gateway.networking.k8s.io                               2025-08-29T17:52:37Z
    referencegrants.gateway.networking.k8s.io                          2025-08-29T17:52:37Z
    
  2. تحقق من أن CRDs تحتوي على التعليقات المتوقعة وأن نسخة الحزمة تطابق النسخة المتوقعة من Kubernetes لمجموعتك باستخدام الأمر التالي kubectl get crds :

    kubectl get crd gateways.gateway.networking.k8s.io -ojsonpath={.metadata.annotations} | jq
    

    يجب أن يظهر الناتج التعليقات المتوقعة، بما في ذلك gateway.networking.k8s.io/bundle-version التعليق مع نسخة الحزمة المتوقعة لنسخة Kubernetes الخاصة بك. على سبيل المثال، إذا كان عنقودك يعمل بنظام Kubernetes v1.33.0، فإن النسخة المتوقعة من الحزمة هي v1.2.1، ويجب أن يكون الناتج مشابها للما يلي:

    {
    "api-approved.kubernetes.io": "https://github.com/kubernetes-sigs/gateway-api/pull/3328",
    "app.kubernetes.io/managed-by": "aks",
    "app.kubernetes.io/part-of": <hash>,
    "gateway.networking.k8s.io/bundle-version": "v1.2.1",
    "gateway.networking.k8s.io/channel": "standard"
    }
    

إلغاء تثبيت واجهات برمجة التطبيقات المدارة للبوابة على عنقود AKS

  • قم بإلغاء تثبيت CRDs API Managed Gateway على عنقود موجود باستخدام az aks update الأمر الذي يحتوي على العلامة --disable-gateway-api .

    az aks update --resource-group myResourceGroup --name myAKSCluster --disable-gateway-api