إنشاء وحدة تحكم دخول غير مدارة

وحدة التحكم في الدخول هي قطعة من البرامج التي توفر الوكيل العكسي، وتوجيه نسبة استخدام الشبكة القابلة للتوجيه، وإنهاء TLS لخدمات Kubernetes. يتم استخدام موارد دخول Kubernetes لتكوين قواعد الدخول وطرق خدمات Kubernetes الفردية. عند استخدام وحدة التحكم في الدخول وقواعد الدخول، يمكن استخدام عنوان IP فردي لتوجيه نسبة استخدام الشبكة إلى خدمات متعددة في نظام مجموعة Kubernetes.

توضح هذه المقالة كيفية نشر وحدة التحكم في الدخول NGINX في نظام مجموعة خدمة Azure Kubernetes. ثم يتم تشغيل تطبيقين في نظام مجموعة AKS، كل منها يمكن الوصول إليه عبر عنوان IP واحد.

هام

يوصى بالوظيفة الإضافية لتوجيه التطبيق للدخول في AKS. لمزيد من المعلومات، راجع Nginx Ingress المدار مع الوظيفة الإضافية لتوجيه التطبيق.

إشعار

هناك نوعان من وحدات التحكم في الدخول الخاصة بالمصدر المفتوح لـ Kubernetes تعتمد على Nginx: أحدهما يحتفظ به مجتمع Kubernetes (kubernetes/ingress-nginx)، والآخر تحتفظ به NGINX, Inc. (nginxinc/kubernetes-ingress). وستعمل هذه المقالة على استخدام وحدة التحكم في الدخول إلى المجتمع Kubernetes.

قبل البدء

  • يستخدم هذا المقال Helm 3 لتثبيت وحدة التحكم في دخول NGINX على إصدار معتمد من Kubernetes. احرص على استخدام أحدث إصدار من Helm والوصول إلى مستودعات Helm ingress-nginx. قد لا تكون الخطوات الموضحة في هذه المقالة متوافقة مع الإصدارات السابقة من مخطط Helm أو وحدة تحكم الدخول NGINX أو Kubernetes.
  • تفترض هذه المقالة أن لديك مجموعة AKS موجودة مع Azure Container Registry (ACR) متكامل. لمزيد من المعلومات حول إنشاء نظام مجموعة خدمة Azure Kubernetes مع ACR المتكاملة، راجع المصادقة باستخدام Azure Container Registry من خدمة Azure Kubernetes.
  • تم إهمال نقطة healthz نهاية صحة واجهة برمجة تطبيقات Kubernetes في Kubernetes v1.16. يمكنك استبدال نقطة النهاية هذه بنقاط livez النهاية و readyz بدلا من ذلك. راجع نقاط نهاية Kubernetes API للحصول على الحماية لتحديد نقطة النهاية التي يجب استخدامها للسيناريو الخاص بك.
  • إذا كنت تستخدم Azure CLI، تتطلب هذه المقالة تشغيل الإصدار 2.0.64 من Azure CLI أو أحدث. قم بتشغيل az --version للعثور على الإصدار. إذا كنت بحاجة إلى التثبيت أو الترقية، فراجع تثبيت Azure CLI.
  • إذا كنت تستخدم Azure PowerShell، تتطلب هذه المقالة تشغيل Azure PowerShell الإصدار 5.9.0 أو أحدث. قم بتشغيل Get-InstalledModule -Name Az للعثور على الإصدار. إذا كنت بحاجة إلى التثبيت أو الترقية، فراجع تثبيت وحدة Azure PowerShell.

التكوين الأساسي

لإنشاء وحدة التحكم في دخول NGINX البسيطة دون تخصيص الإعدادات الافتراضية. يستخدم التكوين التالي التكوين الافتراضي للتبسيط. يمكنك إضافة معلمات لتخصيص التوزيع، مثل --set controller.replicaCount=3.

إشعار

إذا كنت ترغب في تمكين الاحتفاظ بعنوان IP مصدر العميل على طلبات الحاويات في نظام المجموعة، فقم بإضافة --set controller.service.externalTrafficPolicy=Local إلى أمر تثبيت Helm. يتم تخزين عنوان IP مصدر العميل في عنوان الطلب ضمن «X-Forwarded-For». عند استخدام وحدة تحكم الدخول مع تمكين الاحتفاظ بعنوان IP مصدر العميل، فلن يعمل مرور TLS.

NAMESPACE=ingress-basic

helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
helm repo update

helm install ingress-nginx ingress-nginx/ingress-nginx \
  --create-namespace \
  --namespace $NAMESPACE \
  --set controller.service.annotations."service\.beta\.kubernetes\.io/azure-load-balancer-health-probe-request-path"=/healthz \
  --set controller.service.externalTrafficPolicy=Local

إشعار

في هذا البرنامج التعليمي، service.beta.kubernetes.io/azure-load-balancer-health-probe-request-path يتم تعيين إلى /healthz. وهذا يعني أنه إذا كانت التعليمة البرمجية للاستجابة للطلبات إلى /healthz ليست 200، فسيتم إيقاف وحدة تحكم الدخول بأكملها. يمكنك تعديل القيمة إلى URI آخر في السيناريو الخاص بك. لا يمكنك حذف هذا الجزء أو إلغاء تعيين القيمة، أو ستظل وحدة تحكم الدخول معطلة. الحزمة ingress-nginx المستخدمة في هذا البرنامج التعليمي، والتي يتم توفيرها من قبل مسؤول Kubernetes، ستعيد 200 دائما رمز الاستجابة إذا طلبت /healthz، كما تم تصميمها كواجهةخلفية افتراضية للمستخدمين للحصول على بداية سريعة، ما لم تتم الكتابة فوقها بواسطة قواعد الدخول.

التكوين المخصص

كبديل للتكوين الأساسي المعروض في القسم أعلاه، ستظهر المجموعة التالية من الخطوات كيفية نشر وحدة تحكم في الدخول مخصصة. سيكون لديك خيار استخدام عنوان IP ثابت داخلي، أو استخدام عنوان IP عام ديناميكي.

استيراد الصور المستخدمة في مخطط Helm إلى ACR الخاص بك

للتحكم في إصدارات الصور، ستحتاج إلى استيرادها إلى Azure Container Registry الخاص بك. يعتمد مخطط Helm لوحدة التحكم في الدخول NGINXعلى ثلاث صور للحاوية. استخدم az acr import لاستيراد هذه الصور إلى ACR الخاص بك.

REGISTRY_NAME=<REGISTRY_NAME>
SOURCE_REGISTRY=registry.k8s.io
CONTROLLER_IMAGE=ingress-nginx/controller
CONTROLLER_TAG=v1.8.1
PATCH_IMAGE=ingress-nginx/kube-webhook-certgen
PATCH_TAG=v20230407
DEFAULTBACKEND_IMAGE=defaultbackend-amd64
DEFAULTBACKEND_TAG=1.5

az acr import --name $REGISTRY_NAME --source $SOURCE_REGISTRY/$CONTROLLER_IMAGE:$CONTROLLER_TAG --image $CONTROLLER_IMAGE:$CONTROLLER_TAG
az acr import --name $REGISTRY_NAME --source $SOURCE_REGISTRY/$PATCH_IMAGE:$PATCH_TAG --image $PATCH_IMAGE:$PATCH_TAG
az acr import --name $REGISTRY_NAME --source $SOURCE_REGISTRY/$DEFAULTBACKEND_IMAGE:$DEFAULTBACKEND_TAG --image $DEFAULTBACKEND_IMAGE:$DEFAULTBACKEND_TAG

إشعار

إلى جانب استيراد صور الحاويات إلى ACR الخاص بك، يمكنك أيضاً استيراد مخططات Helm إلى ACR الخاص بك. لمزيد من المعلومات، راجع دفع مخططات Helm البيانية وسحبها إلى Azure Container Registry.

إنشاء وحدة تحكم دخول

لإنشاء وحدة تحكم الدخول، استخدم Helm لتثبيت ingress-nginx. تحتاج وحدة تحكم الدخول أيضاً إلى جدولتها ضمن عقدة Linux. يُفترض ألا تشغّل عُقد خادم Windows وحدة تحكم الدخول. يتم تحديد محدد العقدة باستخدام المعلمة --set nodeSelector لأمر مجدول Kubernetes بتشغيل وحدة تحكم دخول NGINX على عقدة مستندة إلى Linux.

لتوفير تكرار إضافي، تُنشر نسختين مماثلتين من وحدات تحكم دخول NGINX باستخدام معلمة --set controller.replicaCount. للاستفادة الكاملة من تشغيل النسخة المتماثلة لوحدة تحكم الدخول، تأكد من وجود أكثر من عقدة واحدة في نظام مجموعة خدمة Azure Kubernetes.

ينشئ المثال التالي مساحة اسم Kubernetes لموارد الدخول التي تحمل اسم ingress-basic وتهدف إلى العمل ضمن مساحة الاسم. حدد مساحة االاسم للبيئة الخاصة بك حسب الحاجة. إذا كان نظام مجموعة AKS لا يمكّن التحكم في الوصول استناداً إلى الدور الخاص بـ Kubernetes، أضف --set rbac.create=falseإلى أوامر Helm.

إشعار

إذا كنت ترغب في تمكين الاحتفاظ بعنوان IP مصدر العميل على طلبات الحاويات في نظام المجموعة، فقم بإضافة --set controller.service.externalTrafficPolicy=Local إلى أمر تثبيت Helm. يتم تخزين عنوان IP مصدر العميل في عنوان الطلب ضمن «X-Forwarded-For». عند استخدام وحدة تحكم الدخول مع تمكين الاحتفاظ بعنوان IP مصدر العميل، فلن يعمل مرور TLS.

# Add the ingress-nginx repository
helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
helm repo update

# Set variable for ACR location to use for pulling images
ACR_LOGIN_SERVER=<REGISTRY_LOGIN_SERVER>

# Use Helm to deploy an NGINX ingress controller
helm install ingress-nginx ingress-nginx/ingress-nginx \
    --version 4.7.1 \
    --namespace ingress-basic \
    --create-namespace \
    --set controller.replicaCount=2 \
    --set controller.nodeSelector."kubernetes\.io/os"=linux \
    --set controller.image.registry=$ACR_LOGIN_SERVER \
    --set controller.image.image=$CONTROLLER_IMAGE \
    --set controller.image.tag=$CONTROLLER_TAG \
    --set controller.image.digest="" \
    --set controller.admissionWebhooks.patch.nodeSelector."kubernetes\.io/os"=linux \
    --set controller.service.annotations."service\.beta\.kubernetes\.io/azure-load-balancer-health-probe-request-path"=/healthz \
    --set controller.service.externalTrafficPolicy=Local \
    --set controller.admissionWebhooks.patch.image.registry=$ACR_LOGIN_SERVER \
    --set controller.admissionWebhooks.patch.image.image=$PATCH_IMAGE \
    --set controller.admissionWebhooks.patch.image.tag=$PATCH_TAG \
    --set controller.admissionWebhooks.patch.image.digest="" \
    --set defaultBackend.nodeSelector."kubernetes\.io/os"=linux \
    --set defaultBackend.image.registry=$ACR_LOGIN_SERVER \
    --set defaultBackend.image.image=$DEFAULTBACKEND_IMAGE \
    --set defaultBackend.image.tag=$DEFAULTBACKEND_TAG \
    --set defaultBackend.image.digest=""

إنشاء وحدة تحكم دخول باستخدام عنوان IP داخلي

بشكل افتراضي، يتم إنشاء وحدة تحكم دخول NGINX مع مهمة عنوان IP عام ديناميكي. استخدام شبكة اتصال داخلية خاصة، وعنوان IP هي متطلبات تكوين شائعة. يسمح لك هذا النهج بتقييد الوصول إلى الخدمات للمستخدمين الداخليين، بلا وصول خارجي.

--set controller.service.loadBalancerIP استخدم المعلمتين و --set controller.service.annotations."service\.beta\.kubernetes\.io/azure-load-balancer-internal"=true لتعيين عنوان IP داخلي لوحدة تحكم الدخول. توفير عنوان IP الداخل الخاص بك للاستخدام مع وحدة تحكم الدخول. تأكد من أن عنوان IP هذا غير مستخدم حالياً بالفعل داخل الشبكة الظاهرية. إذا كنت تستخدم شبكة ظاهرية وشبكة فرعية موجودة، فيجب عليك تكوين نظام مجموعة AKS الخاص بك بالأذونات الصحيحة لإدارة الشبكة الظاهرية والشبكة الفرعية. لمزيد من المعلومات، راجع استخدام شبكات kubenet مع نطاقات عناوين IP الخاصة بك في Azure Kubernetes Service (AKS) أو تكوين شبكات Azure CNI في خدمة Azure Kubernetes Service (AKS).

# Add the ingress-nginx repository
helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
helm repo update

# Set variable for ACR location to use for pulling images
ACR_LOGIN_SERVER=<REGISTRY_LOGIN_SERVER>

# Use Helm to deploy an NGINX ingress controller
helm install ingress-nginx ingress-nginx/ingress-nginx \
    --version 4.7.1 \
    --namespace ingress-basic \
    --create-namespace \
    --set controller.replicaCount=2 \
    --set controller.nodeSelector."kubernetes\.io/os"=linux \
    --set controller.image.registry=$ACR_LOGIN_SERVER \
    --set controller.image.image=$CONTROLLER_IMAGE \
    --set controller.image.tag=$CONTROLLER_TAG \
    --set controller.image.digest="" \
    --set controller.admissionWebhooks.patch.nodeSelector."kubernetes\.io/os"=linux \
    --set controller.service.loadBalancerIP=10.224.0.42 \
    --set controller.service.annotations."service\.beta\.kubernetes\.io/azure-load-balancer-internal"=true \
    --set controller.service.annotations."service\.beta\.kubernetes\.io/azure-load-balancer-health-probe-request-path"=/healthz \
    --set controller.admissionWebhooks.patch.image.registry=$ACR_LOGIN_SERVER \
    --set controller.admissionWebhooks.patch.image.image=$PATCH_IMAGE \
    --set controller.admissionWebhooks.patch.image.tag=$PATCH_TAG \
    --set controller.admissionWebhooks.patch.image.digest="" \
    --set defaultBackend.nodeSelector."kubernetes\.io/os"=linux \
    --set defaultBackend.image.registry=$ACR_LOGIN_SERVER \
    --set defaultBackend.image.image=$DEFAULTBACKEND_IMAGE \
    --set defaultBackend.image.tag=$DEFAULTBACKEND_TAG \
    --set defaultBackend.image.digest="" 

التحقق من خدمة موازن التحميل

التحقق من خدمة موازن التحميل باستخدام kubectl get services.

kubectl get services --namespace ingress-basic -o wide -w ingress-nginx-controller

عند إنشاء خدمة موازن تحميل Kubernetes لوحدة التحكم في الدخول NGINX، يتم تعيين عنوان IP ضمن EXTERNAL-IP، كما هو موضح في مخرجات المثال التالي:

NAME                       TYPE           CLUSTER-IP    EXTERNAL-IP     PORT(S)                      AGE   SELECTOR
ingress-nginx-controller   LoadBalancer   10.0.65.205   EXTERNAL-IP     80:30957/TCP,443:32414/TCP   1m   app.kubernetes.io/component=controller,app.kubernetes.io/instance=ingress-nginx,app.kubernetes.io/name=ingress-nginx

إذا استعرضت للوصول إلى عنوان IP الخارجي في هذه المرحلة، فسترى صفحة 404 معروضة. وذلك لأنك لا تزال بحاجة إلى إعداد الاتصال ب IP الخارجي، والذي يتم في الأقسام التالية.

تشغيل تطبيقات العرض التوضيحي

لرؤية وحدة تحكم الدخول في العمل، قم بتشغيل تطبيقين توضيحيين في نظام مجموعة خدمة Azure Kubernetes. في هذا المثال، يتم استخدام kubectl apply لنشر مثيلين من تطبيق «Hello world» البسيط.

  1. إنشاء ملف aks-helloworld-one.yaml ونسخه في مثال YAML التالي:

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: aks-helloworld-one  
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: aks-helloworld-one
      template:
        metadata:
          labels:
            app: aks-helloworld-one
        spec:
          containers:
          - name: aks-helloworld-one
            image: mcr.microsoft.com/azuredocs/aks-helloworld:v1
            ports:
            - containerPort: 80
            env:
            - name: TITLE
              value: "Welcome to Azure Kubernetes Service (AKS)"
    ---
    apiVersion: v1
    kind: Service
    metadata:
      name: aks-helloworld-one  
    spec:
      type: ClusterIP
      ports:
      - port: 80
      selector:
        app: aks-helloworld-one
    
  2. إنشاء ملف aks-helloworld-two.yaml ونسخه في مثال YAML التالي:

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: aks-helloworld-two  
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: aks-helloworld-two
      template:
        metadata:
          labels:
            app: aks-helloworld-two
        spec:
          containers:
          - name: aks-helloworld-two
            image: mcr.microsoft.com/azuredocs/aks-helloworld:v1
            ports:
            - containerPort: 80
            env:
            - name: TITLE
              value: "AKS Ingress Demo"
    ---
    apiVersion: v1
    kind: Service
    metadata:
      name: aks-helloworld-two  
    spec:
      type: ClusterIP
      ports:
      - port: 80
      selector:
        app: aks-helloworld-two
    
  3. قم بتشغيل اثنين من تطبيقات العرض التوضيحي باستخدام kubectl apply:

    kubectl apply -f aks-helloworld-one.yaml --namespace ingress-basic
    kubectl apply -f aks-helloworld-two.yaml --namespace ingress-basic
    

إنشاء مسار دخول

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

في المثال التالي، نسبة استخدام الشبكة إلى EXTERNAL_IP/hello-world-one تُوجه إلى الخدمة المسماة aks-helloworld-one. يتم توجيه نسبة استخدام الشبكة إلى EXTERNAL_IP/hello-world-two إلى الخدمة aks-helloworld-two. يتم توجيه حركة المرور إلى EXTERNAL_IP/static إلى الخدمة المسماة aks-helloworld-one للأصول الثابتة.

  1. إنشاء ملف مسمى hello-world-ingress.yaml ونسخ في المثال التالي YAML:

    apiVersion: networking.k8s.io/v1
    kind: Ingress
    metadata:
      name: hello-world-ingress
      annotations:
        nginx.ingress.kubernetes.io/ssl-redirect: "false"
        nginx.ingress.kubernetes.io/use-regex: "true"
        nginx.ingress.kubernetes.io/rewrite-target: /$2
    spec:
      ingressClassName: nginx
      rules:
      - http:
          paths:
          - path: /hello-world-one(/|$)(.*)
            pathType: Prefix
            backend:
              service:
                name: aks-helloworld-one
                port:
                  number: 80
          - path: /hello-world-two(/|$)(.*)
            pathType: Prefix
            backend:
              service:
                name: aks-helloworld-two
                port:
                  number: 80
          - path: /(.*)
            pathType: Prefix
            backend:
              service:
                name: aks-helloworld-one
                port:
                  number: 80
    ---
    apiVersion: networking.k8s.io/v1
    kind: Ingress
    metadata:
      name: hello-world-ingress-static
      annotations:
        nginx.ingress.kubernetes.io/ssl-redirect: "false"
        nginx.ingress.kubernetes.io/rewrite-target: /static/$2
    spec:
      ingressClassName: nginx
      rules:
      - http:
          paths:
          - path: /static(/|$)(.*)
            pathType: Prefix
            backend:
              service:
                name: aks-helloworld-one
                port: 
                  number: 80
    
  2. إنشاء مورد الدخول باستخدام الأمر kubectl apply.

    kubectl apply -f hello-world-ingress.yaml --namespace ingress-basic
    

اختبر وحدة تحكم الدخول

لاختبار المسارات المخصصة لوحدة التحكم في الدخول، استعرض للوصول إلى التطبيقين. افتح مستعرض ويب إلى عنوان IP لوحدة التحكم في الدخول NGINX، مثل EXTERNAL_IP. يتم عرض التطبيق التجريبي الأول في مستعرض الويب، كما هو موضح في المثال التالي:

First app running behind the ingress controller

قم الآن بإضافة المسار /hello-world-two إلى عنوان IP، مثل EXTERNAL_IP/hello-world-two. يظهر التطبيق التجريبي الثاني بعنوان مخصص:

Second app running behind the ingress controller

اختبار عنوان IP داخلي

  1. إنشاء حاوية اختبار وإرفاق جلسة طرفية بها.

    kubectl run -it --rm aks-ingress-test --image=mcr.microsoft.com/dotnet/runtime-deps:6.0 --namespace ingress-basic
    
  2. تثبيت curl في جراب باستخدام apt-get.

    apt-get update && apt-get install -y curl
    
  3. الوصول إلى عنوان وحدة تحكم دخول Kubernetes باستخدام curl، مثل http://10.224.0.42. توفير عنوان IP الداخلي الخاص بك المحدد عند توزيع وحدة تحكم الدخول.

    curl -L http://10.224.0.42
    

    لم يتم توفير مسار مع العنوان، لذلك يتم تعين وحدة تحكم الدخول افتراضياً إلى المسار /. يتم إرجاع تطبيق العرض التوضيحي الأول، كما هو موضح في مثال المُخرج المكثف التالي:

    <!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <link rel="stylesheet" type="text/css" href="/static/default.css">
        <title>Welcome to Azure Kubernetes Service (AKS)</title>
    [...]
    
  4. أضف المسار /hello-world-two إلى العنوان، مثل http://10.224.0.42/hello-world-two.

    curl -L -k http://10.224.0.42/hello-world-two
    

    يتم إرجاع تطبيق العرض التوضيحي الثاني مع عنوان مخصص، كما هو موضح في مثال المُخرج المكثف التالي:

    <!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <link rel="stylesheet" type="text/css" href="/static/default.css">
        <title>AKS Ingress Demo</title>
    [...]
    

تنظيف الموارد

استخدمت هذه المقالة Helm لتثبيت مكونات الدخول ونماذج التطبيقات. عند نشر مخطط Helm، يتم إنشاء الكثير من موارد Kubernetes. تتضمن هذه الموارد وحدات الجراب وعمليات التوزيع والخدمات. لتنظيف هذه الموارد، يمكنك إما حذف مساحة اسم العينة بالكامل أو موارد بمفردها.

حذف مساحة اسم العينة وجميع الموارد

لحذف مساحة اسم العينة، استخدم الأمر kubectl delete وحدد اسم مساحة الاسم الخاص بك. يتم حذف جميع الموارد الموجودة في مساحة الاسم.

kubectl delete namespace ingress-basic

حذف الموارد بشكل فردي

بدلاً من ذلك، الأسلوب الأكثر دقة هو حذف الموارد الفردية التي تم إنشاؤها.

  1. أدرج إصدارات Helm بالأمر helm list.

    helm list --namespace ingress-basic
    

    ابحث عن المخططات المسماة ingress-nginx وaks-helloworld، كما هو موضح في إخراج المثال التالي:

    NAME                    NAMESPACE       REVISION        UPDATED                                 STATUS          CHART                   APP VERSION
    ingress-nginx           ingress-basic   1               2020-01-06 19:55:46.358275 -0600 CST    deployed        nginx-ingress-1.27.1    0.26.1  
    
  2. إلغاء تثبيت الإصدارات باستخدام الأمر helm uninstall.

    helm uninstall ingress-nginx --namespace ingress-basic
    
  3. إزالة التطبيقين النموذجيين.

    kubectl delete -f aks-helloworld-one.yaml --namespace ingress-basic
    kubectl delete -f aks-helloworld-two.yaml --namespace ingress-basic
    
  4. قم بإزالة مسار الدخول الذي وجه نسبة استخدام الشبكة إلى نماذج التطبيقات.

    kubectl delete -f hello-world-ingress.yaml
    
  5. احذف مساحة الاسم باستخدام kubectl delete الأمر وحدد اسم مساحة الاسم.

    kubectl delete namespace ingress-basic
    

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

لتكوين TLS مع مكونات الدخول الموجودة، راجع استخدام TLS باستخدام وحدة تحكم الدخول.

لتكوين نظام مجموعة AKS لاستخدام توجيه تطبيق HTTP، راجع تمكين الوظيفة الإضافية لتوجيه تطبيق HTTP.

تضمنت هذه المقالة بعض المكونات الخارجية لخدمة Azure Kubernetes. لمعرفة المزيد حول هذه المكونات، راجع صفحات المشروع التالية: