الترحيل من توجيه تطبيق HTTP إلى الوظيفة الإضافية لتوجيه التطبيق
في هذه المقالة، ستتعلم كيفية ترحيل نظام مجموعة Azure Kubernetes Service (AKS) من ميزة توجيه تطبيق HTTP إلى الوظيفة الإضافية لتوجيه التطبيق. تم إيقاف الوظيفة الإضافية لتوجيه تطبيق HTTP ولا تعمل على أي إصدار من إصدارات Kubernetes لنظام المجموعة قيد الدعم حاليا. نوصي بالترحيل في أقرب وقت ممكن للحفاظ على تكوين مدعوم.
المتطلبات الأساسية
- تم تثبيت الإصدار 2.54.0 من Azure CLI أو إصدار أحدث وتكوينه. قم بتشغيل
az --version
للعثور على الإصدار. إذا كنت بحاجة إلى التثبيت أو الترقية، فراجع تثبيت Azure CLI. aks-preview
ملحق Azure CLI للإصدار 0.5.171 أو أحدث مثبت
إشعار
تفصل هذه الخطوات الترحيل من تكوين غير مدعوم. على هذا النحو، لا يمكن ل AKS تقديم الدعم للمشكلات التي تنشأ أثناء عملية الترحيل.
تحديث الوظائف الإضافية لنظام المجموعة والدخول واستخدام IP
تمكين الوظيفة الإضافية لتوجيه التطبيق.
az aks approuting enable --resource-group <ResourceGroupName> --name <ClusterName>
قم بتحديث الدخول الخاصة بك، وإعداد
ingressClassName
إلىwebapprouting.kubernetes.azure.com
. إزالة التعليقkubernetes.io/ingress.class
التوضيحي. تحتاج أيضا إلى تحديث المضيف إلى المضيف الذي تملكه، حيث لا تحتوي الوظيفة الإضافية لتوجيه التطبيق على منطقة DNS لنظام المجموعة المدارة. إذا لم يكن لديك منطقة DNS، فاتبع الإرشادات لإنشاء منطقة وتكوينها.في البداية، سيبدو تكوين الدخول الخاص بك كما يلي:
apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: aks-helloworld annotations: kubernetes.io/ingress.class: addon-http-application-routing # Remove the ingress class annotation spec: rules: - host: aks-helloworld.<CLUSTER_SPECIFIC_DNS_ZONE> http: paths: - path: / pathType: Prefix backend: service: name: aks-helloworld port: number: 80
بعد التحديث بشكل صحيح، يبدو نفس التكوين كما يلي:
apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: aks-helloworld spec: ingressClassName: webapprouting.kubernetes.azure.com # Set the ingress class property to refer to the application routing add-on ingress class rules: - host: aks-helloworld.<CLUSTER_SPECIFIC_DNS_ZONE> # Replace with your own hostname http: paths: - path: / pathType: Prefix backend: service: name: aks-helloworld port: number: 80
تحديث IP لوحدة تحكم الدخول (كما هو الحال في سجلات DNS) بعنوان IP الجديد. يمكنك العثور على IP الجديد باستخدام
kubectl get
. على سبيل المثال:kubectl get svc nginx --namespace app-routing-system -o jsonpath='{.status.loadBalancer.ingress[0].ip}'
تعطيل الوظيفة الإضافية لتوجيه تطبيق HTTP.
az aks disable-addons --resource-group <ResourceGroupName> --name <ClusterName> --addons http_application_routing
إزالة كافة موارد توجيه تطبيق HTTP وحذفها
بعد تعطيل الوظيفة الإضافية لتوجيه تطبيق HTTP، قد تظل بعض موارد Kubernetes ذات الصلة في مجموعتك. تتضمن هذه الموارد التكوينات والأسرار التي تم إنشاؤها في مساحة اسم نظام kube. للحفاظ على نظام مجموعة نظيف، يمكنك إزالة هذه الموارد. ابحث عن موارد addon-http-application-routing باستخدام الأوامر التالية
kubectl get
:kubectl get deployments --namespace kube-system kubectl get services --namespace kube-system kubectl get configmaps --namespace kube-system kubectl get secrets --namespace kube-system
يظهر إخراج المثال التالي configmaps التي يجب حذفها:
NAMESPACE NAME DATA AGE kube-system addon-http-application-routing-nginx-configuration 0 9m7s kube-system addon-http-application-routing-tcp-services 0 9m7s kube-system addon-http-application-routing-udp-services 0 9m7s
احذف الموارد المتبقية
kubectl delete
باستخدام الأمر . تأكد من تحديد نوع المورد واسم المورد ومساحة الاسم. المثال التالي يحذف إحدى خرائط التكوين السابقة:kubectl delete configmaps addon-http-application-routing-nginx-configuration --namespace kube-system
كرر الخطوة السابقة
kubectl delete
لجميع موارد addon-http-application-routing المتبقية في نظام المجموعة.
الخطوات التالية
بعد الترحيل إلى الوظيفة الإضافية لتوجيه التطبيق، تعرف على كيفية مراقبة مقاييس وحدة تحكم الدخول باستخدام Prometheus وGrafana.
Azure Kubernetes Service