إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
تنبيه
أعلنت شبكة Kubernetes SIG ولجنة الاستجابة الأمنية عن التقاعد القادملمشروع Ingress NGINX، مع انتهاء الصيانة في مارس 2026. لا يوجد إجراء فوري اليوم لمجموعات AKS التي تستخدم إضافة توجيه التطبيقات مع NGINX. ستوفر مايكروسوفت دعما رسميا للتصحيحات الأمنية الحرجة لموارد NGINX Ingress الإضافية لتوجيه التطبيقات حتى نوفمبر 2026.
تتوافق AKS مع Kubernetes المتقدمة من خلال الانتقال إلى واجهة برمجة تطبيقات Gateway كمعيار طويل الأمد لإدارة حركة المرور في الداخل والطبقة السابعة. ننصحك بأن تبدأ في تخطيط مسار الهجرة بناء على إعدادك الحالي:
- مستخدمو إضافات توجيه التطبيقات: تظل أعباء العمل الإنتاجية مدعومة بالكامل حتى نوفمبر 2026. انتقل إلى تنفيذ واجهة برمجة تطبيقات بوابة توجيه التطبيقات للحصول على تجربة إدارة حركة المرور القائمة على واجهة برمجة تطبيقات البوابة.
-
لدى مستخدمي OSS NGINX عدة خيارات:
- انتقل إلى إضافة توجيه التطبيقات باستخدام NGINX للاستفادة من الدعم الرسمي حتى نوفمبر 2026 أثناء التخطيط لترحيل واجهة برمجة التطبيقات طويلة الأمد لبوابة.
- انتقل إلى تنفيذ واجهة برمجة تطبيقات بوابة توجيه التطبيقات للحصول على تجربة إدارة حركة المرور القائمة على واجهة برمجة تطبيقات البوابة.
- انتقل إلى Application Gateway for Containers، الذي يدعم كل من واجهة برمجة تطبيقات Ingress وواجهة Gateway.
- مستخدمو شبكة الخدمة: إذا كنت تخطط لاعتماد شبكة خدمة، فكر في إضافة شبكة الخدمات المبنية على Istio. استخدم Istio Ingress اليوم، وخطط للانتقال إلى دعم واجهة برمجة تطبيقات Istio Gateway عندما يصبح GA.
تتمثل إحدى الطرق لتوجيه بروتوكول نقل النص التشعبي (HTTP) وحركة مرور آمنة (HTTPS) إلى التطبيقات التي تعمل على مجموعة خدمة Azure Kubernetes (AKS) في استخدام كائن Kubernetes Ingress. عند إنشاء كائن دخول يستخدم فئة NGINX Ingress الإضافية لتوجيه التطبيق، تقوم الوظيفة الإضافية بإنشاء وحدة تحكم دخول واحدة أو أكثر وتكوينها وإدارتها في نظام مجموعة AKS.
توضح لك هذه المقالة كيفية نشر وتكوين وحدة تحكم دخول أساسية في نظام مجموعة AKS.
الوظيفة الإضافية لتوجيه التطبيق مع ميزات NGINX
تقدم الوظيفة الإضافية لتوجيه التطبيق مع NGINX ما يلي:
- تكوين سهل لوحدات تحكم دخول NGINX المدارة استنادا إلى وحدة تحكم دخول Kubernetes NGINX.
- التكامل مع Azure DNS لإدارة المنطقة العامة والخاصة
- إنهاء SSL مع الشهادات المخزنة في Azure Key Vault.
للحصول على تكوينات أخرى، راجع:
- تكوين DNS وSSL
- تكوين الوظيفة الإضافية لتوجيه التطبيق
- تكوين وحدة تحكم دخول NGIX الداخلية لمنطقة DNS الخاصة ب Azure.
مع إيقاف Open Service Mesh (OSM) من قبل Cloud Native Computing Foundation (CNCF)، لا يوصى باستخدام الوظيفة الإضافية لتوجيه التطبيق مع OSM.
المتطلبات الأساسية
- اشتراك Azure. إذا لم يكن لديك اشتراك Azure، يمكنك إنشاء حساب مجاني.
- تم تثبيت الإصدار 2.54.0 من Azure CLI أو إصدار أحدث وتكوينه. قم بتشغيل
az --versionللعثور على الإصدار. إذا كنت بحاجة إلى التثبيت أو الترقية، فراجع تثبيت Azure CLI.
القيود
- تدعم الوظيفة الإضافية لتوجيه التطبيق ما يصل إلى خمس مناطق Azure DNS.
- يمكن تمكين الوظيفة الإضافية لتوجيه التطبيق فقط على مجموعات AKS ذات الهوية المدارة.
- يجب أن تكون جميع مناطق Azure DNS العمومية المدمجة مع الوظيفة الإضافية في نفس مجموعة الموارد.
- يجب أن تكون جميع مناطق Azure DNS الخاصة المدمجة مع الوظيفة الإضافية في نفس مجموعة الموارد.
- تحرير ingress-nginx
ConfigMapفيapp-routing-systemمساحة الاسم غير مدعوم. - يتم حظر التعليقات التوضيحية للمقتطف التالية وستمنع تكوين الدخول:
load_module، ،lua_package،_by_lua،locationroot،proxy_pass،serviceaccount،{، .}'
تمكين توجيه التطبيق باستخدام Azure CLI
تمكين على نظام مجموعة جديد
لتمكين توجيه التطبيق على نظام مجموعة جديد، استخدم az aks create الأمر ، مع تحديد العلامة --enable-app-routing .
az aks create \
--resource-group <ResourceGroupName> \
--name <ClusterName> \
--location <Location> \
--enable-app-routing \
--generate-ssh-keys
تمكين على نظام مجموعة موجود
لتمكين توجيه التطبيق على مجموعة موجودة، استخدم az aks approuting enable الأمر .
az aks approuting enable --resource-group <ResourceGroupName> --name <ClusterName>
قم بالاتصال بمجموعة AKS
للاتصال بمجموعة Kubernetes من جهاز الكمبيوتر المحلي لديك، يمكنك استخدام kubectl، عميل معني بأوامر Kubernetes. يمكنك تثبيته محليا باستخدام az aks install-cli الأمر . في حال كنت تستخدم Azure Cloud Shell، يكون kubectl مثبتاً بالفعل.
قم بتكوين kubectl للاتصال بكتلة Kubernetes مستخدماً الأمر az aks get-credentials.
az aks get-credentials --resource-group <ResourceGroupName> --name <ClusterName>
نشر تطبيق
تستخدم الوظيفة الإضافية لتوجيه التطبيق تعليقات توضيحية على كائنات دخول Kubernetes لإنشاء الموارد المناسبة.
قم بإنشاء مساحة اسم التطبيق التي تم استدعاؤها
aks-storeلتشغيل أمثلة pods باستخدامkubectl create namespaceالأمر .kubectl create namespace aks-storeانشر تطبيق مخزن AKS باستخدام ملف بيان YAML التالي:
kubectl apply -f https://raw.githubusercontent.com/Azure-Samples/aks-store-demo/main/sample-manifests/docs/app-routing/aks-store-deployments-and-services.yaml -n aks-store
سيقوم هذا البيان بإنشاء عمليات النشر والخدمات الضرورية لتطبيق مخزن AKS.
إنشاء كائن الدخول
تنشئ الوظيفة الإضافية لتوجيه التطبيق فئة دخول على المجموعة المسماة webapprouting.kubernetes.azure.com. عند إنشاء كائن دخول باستخدام هذه الفئة، فإنه يقوم بتنشيط الوظيفة الإضافية.
انسخ بيان YAML التالي في ملف جديد يسمى ingress.yaml واحفظ الملف إلى الكمبيوتر المحلي.
apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: store-front namespace: aks-store spec: ingressClassName: webapprouting.kubernetes.azure.com rules: - http: paths: - backend: service: name: store-front port: number: 80 path: / pathType: Prefixإنشاء مورد الدخول باستخدام الأمر
kubectl apply.kubectl apply -f ingress.yaml -n aks-storeيظهر إخراج المثال التالي المورد الذي تم إنشاؤه:
ingress.networking.k8s.io/store-front created
تحقق من إنشاء الدخول المدار
يمكنك التحقق من إنشاء الدخول المدار باستخدام kubectl get ingress الأمر .
kubectl get ingress -n aks-store
يظهر إخراج المثال التالي الدخول المدار الذي تم إنشاؤه:
NAME CLASS HOSTS ADDRESS PORTS AGE
store-front webapprouting.kubernetes.azure.com * 51.8.10.109 80 110s
يمكنك التحقق من أن مخزن AKS يعمل على توجيه المتصفح إلى عنوان IP العام لوحدة تحكم الدخول. ابحث عن عنوان IP باستخدام kubectl:
kubectl get service -n app-routing-system nginx -o jsonpath="{.status.loadBalancer.ingress[0].ip}"
إزالة الوظيفة الإضافية لتوجيه التطبيق
لإزالة مساحة الاسم المقترنة kubectl delete namespace ، استخدم الأمر .
kubectl delete namespace aks-store
لإزالة الوظيفة الإضافية لتوجيه التطبيق من نظام المجموعة، استخدم az aks approuting disable الأمر .
az aks approuting disable --name <ClusterName> --resource-group <ResourceGroupName>
إشعار
لتجنب التعطيل المحتمل لنسبة استخدام الشبكة في نظام المجموعة عند تعطيل الوظيفة الإضافية لتوجيه التطبيق، ستظل بعض موارد Kubernetes، بما في ذلك configMaps والأسرار والنشر الذي يقوم بتشغيل وحدة التحكم، على نظام المجموعة. توجد هذه الموارد في مساحة اسم نظام توجيه التطبيق. يمكنك إزالة هذه الموارد إذا لم تعد هناك حاجة إليها عن طريق حذف مساحة الاسم باستخدام kubectl delete ns app-routing-system.
الخطوات التالية
تمكين تنفيذ واجهة برمجة تطبيقات بوابة توجيه التطبيق لإدارة حركة المرور الداخلة باستخدام واجهة Kubernetes Gateway.
يوضح تكوين تكوينات الدخول المخصصة كيفية إنشاء تكوين دخول متقدم وتكوين مجال مخصص باستخدام Azure DNS لإدارة مناطق DNS وإعداد دخول آمن.
للتكامل مع موازن تحميل داخلي Azure وتكوين منطقة Azure DNS خاصة لتمكين دقة DNS لنقاط النهاية الخاصة لحل مجالات معينة، راجع تكوين وحدة تحكم دخول NGINX الداخلية لمنطقة DNS الخاصة ب Azure.
تعرف على مراقبة مقاييس وحدة تحكم ingress-nginx المضمنة مع الوظيفة الإضافية لتوجيه التطبيق باستخدام Prometheus في Grafana (معاينة) كجزء من تحليل أداء التطبيق واستخدامه.