إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
تنبيه
أعلنت شبكة 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، فإنه يقوم بإنشاء وحدة تحكم دخول وتكوينها وإدارتها في مجموعة AKS الخاصة بك.
توضح هذه المقالة كيفية تمكين وحدة تحكم دخول NGINX المدارة وتكوين كائن دخول لتوجيه حركة المرور إلى تطبيق في نظام مجموعة AKS.
الوظيفة الإضافية لتوجيه التطبيق مع ميزات NGINX
تقدم الوظيفة الإضافية لتوجيه التطبيق مع NGINX ما يلي:
- تكوين سهل لوحدات تحكم دخول NGINX المدارة استنادا إلى وحدة تحكم دخول Kubernetes NGINX.
- التكامل مع Azure DNS لإدارة المنطقة العامة والخاصة.
- إنهاء SSL مع الشهادات المخزنة في Azure Key Vault.
للحصول على تكوينات أخرى، راجع:
- تكوين DNS وSSL.
- تكوين الوظيفة الإضافية لتوجيه التطبيق.
- تكوين وحدة تحكم دخول NGINX الداخلية Azure منطقة DNS الخاصة.
مهم
ابتداء من 30 سبتمبر 2027، لم تعد خدمة خدمة Azure Kubernetes (AKS) تدعم إضافة Open Service Mesh (OSM). تم إيقاف مشروع Open Service Mesh في المراحل الأولى.
إذا كان مجموعتك تستخدم إضافة OSM، انتقل إلى إضافة Istio قبل انتهاء الدعم. ينطبق إشعار التقاعد هذا فقط على إضافة OSM المدارة ولا يتناول تركيبات الشبكة المفتوحة المصدر أو المدارة ذاتيا للخدمات. لخطوات الترحيل، راجع إرشادات الهجرة من إضافة OSM إلى إضافة Istio. للبقاء على اطلاع بإعلانات وتحديثات AKS، تابع ملاحظات إصدار AKS.
المتطلبات الأساسية
- اشتراك 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لم يتم تكوين الدخول. locationلم يتم تكوين الدخول. rootلم يتم تكوين الدخول. proxy_passلم يتم تكوين الدخول. serviceaccountلم يتم تكوين الدخول. {لم يتم تكوين الدخول. }لم يتم تكوين الدخول. 'لم يتم تكوين الدخول. لا تدعم الوظيفة الإضافية رسميا إدخال عناصر جانبية غير مدارة Microsoft (على سبيل المثال، بيانات تتبع الاستخدام المخصصة أو التسجيل أو عوامل الأمان) في جرابات وكيل ingress-nginx التي تديرها. إذا اخترت حقن جانبك الخاص بك في وحدة بروكسي مدارة، فإن Microsoft تقدم فقط دعما بأفضل جهد لأي مشاكل تواجهها.
تمكين الوظيفة الإضافية لتوجيه التطبيق باستخدام Azure CLI
تمكين على نظام مجموعة جديد
لتمكين توجيه التطبيق على نظام مجموعة جديد، استخدم az aks create الأمر ، مع تحديد العلامة --enable-app-routing .
az aks create \
--resource-group <resource-group-name> \
--name <cluster-name> \
--location <location> \
--enable-app-routing \
--generate-ssh-keys
تمكين على نظام مجموعة موجود
لتمكين توجيه التطبيق على مجموعة موجودة، استخدم az aks approuting enable الأمر .
az aks approuting enable --resource-group <resource-group-name> --name <cluster-name>
قم بالاتصال بمجموعة AKS
للاتصال بمجموعة Kubernetes من الكمبيوتر المحلي الخاص بك، يمكنك استخدام kubectl، عميل سطر أوامر Kubernetes. يمكنك تثبيته محليا باستخدام az aks install-cli الأمر . في حال كنت تستخدم Azure Cloud Shell، يكون kubectl مثبتاً بالفعل.
قم بتكوين kubectl للاتصال بنظام مجموعة Kubernetes باستخدام أمر az aks get-credentials.
az aks get-credentials --resource-group <resource-group-name> --name <cluster-name>
نشر تطبيق
تحدد كائنات دخول 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
ينشئ rabbitmqهذا البيان عمليات order-serviceproduct-servicestore-front النشر والنشر والخدمات المقابلة.
store-front تعرض الخدمة المنفذ 80، الذي يوجهه الدخول في القسم التالي.
إنشاء كائن الدخول
عند تمكين الوظيفة الإضافية لتوجيه التطبيق، فإنه ينشئ فئة دخول تسمى webapprouting.kubernetes.azure.com. حدد هذه الفئة في كائن دخول لاستخدام وحدة تحكم دخول NGINX المدارة للوظيفة الإضافية.
انسخ بيان 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 الخارجي المعين بواسطة موازن التحميل إلى خدمة وحدة تحكم nginx دخول NGINX المدارة app-routing-system في مساحة الاسم:
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 <cluster-name> --resource-group <resource-group-name>
إشعار
لتجنب التعطيل المحتمل لنسبة استخدام الشبكة في نظام المجموعة عند تعطيل الوظيفة الإضافية لتوجيه التطبيق، تظل بعض موارد Kubernetes، بما في ذلك configMapsوالأسراروالنشر الذي يقوم بتشغيل وحدة التحكم، على نظام المجموعة. توجد هذه الموارد في مساحة اسم نظام توجيه التطبيق. يمكنك إزالة هذه الموارد إذا لم تعد هناك حاجة إليها عن طريق حذف مساحة الاسم باستخدام kubectl delete ns app-routing-system.
المحتوى ذو الصلة
- تمكين تنفيذ واجهة برمجة تطبيقات بوابة توجيه التطبيق لإدارة حركة المرور الداخلة باستخدام واجهة Kubernetes Gateway.
- تكوين تكوينات الدخول المخصصة يوضح كيفية إنشاء تكوين دخول متقدم. تكوين مجال مخصص باستخدام Azure DNS لإدارة مناطق DNS وإعداد دخول آمن.
- للتكامل مع موازن تحميل داخلي Azure وتكوين منطقة Azure DNS خاصة لتمكين دقة DNS لنقاط النهاية الخاصة لحل مجالات معينة، راجع تكوين وحدة تحكم دخول NGINX الداخلية لمنطقة DNS الخاصة ب Azure.
- تعرف على مراقبة مقاييس وحدة تحكم ingress-nginx المضمنة مع الوظيفة الإضافية لتوجيه التطبيق باستخدام Prometheus في Grafana (معاينة) كجزء من تحليل أداء واستخدام التطبيق الخاص بك.