HTTP uygulama yönlendirmesinden uygulama yönlendirme eklentisine geçiş

Bu makalede, Azure Kubernetes Service (AKS) kümenizi HTTP uygulama yönlendirme özelliğinden uygulama yönlendirme eklentisine geçirmeyi öğreneceksiniz. HTTP uygulama yönlendirme eklentisi kullanımdan kaldırılmıştır ve şu anda desteklenen hiçbir küme Kubernetes sürümünde çalışmaz. Desteklenen bir yapılandırmayı korumak için en kısa sürede geçiş yapmanızı öneririz.

Önkoşullar

  • Azure CLI sürüm 2.54.0 veya üzeri yüklü ve yapılandırılmış. Sürümü bulmak için az --version komutunu çalıştırın. Yüklemeniz veya yükseltmeniz gerekirse, bkz. Azure CLI yükleme.
  • aks-preview 0.5.171 veya sonraki bir sürümün Azure CLI uzantısı yüklü

Dekont

Bu adımlar desteklenmeyen bir yapılandırmadan geçişi ayrıntılı olarak açıklar. Bu nedenle AKS, geçiş işlemi sırasında ortaya çıkan sorunlar için destek sunamaz.

Kümenizin eklentilerini, girişlerini ve IP kullanımını güncelleştirme

  1. Uygulama yönlendirme eklentisini etkinleştirin.

    az aks approuting enable -g <ResourceGroupName> -n <ClusterName>
    
  2. Girişlerinizi güncelleştirin, ayarını olarak webapprouting.kubernetes.azure.comayarlayıningressClassName. Ek açıklamayı kubernetes.io/ingress.class kaldırın. Ayrıca, uygulama yönlendirme eklentisinin yönetilen küme DNS bölgesi olmadığından konağı sahip olduğunuz bir ana bilgisayara da güncelleştirmeniz gerekir. DNS bölgeniz yoksa, oluşturmak ve yapılandırmak için yönergeleri izleyin.

    Başlangıçta, giriş yapılandırmanız şuna benzer olacaktır:

    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
    

    Düzgün bir şekilde güncelleştirdikten sonra aynı yapılandırma aşağıdaki gibi görünür:

    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:
      - http:
        host: aks-helloworld.<CLUSTER_SPECIFIC_DNS_ZONE> # Replace with your own hostname
          paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: aks-helloworld
                port:
                  number: 80
    
  3. Giriş denetleyicisinin IP'sini (DNS kayıtlarında olduğu gibi) yeni IP adresiyle güncelleştirin. Yeni IP'yi kullanarak kubectl getbulabilirsiniz. Örneğin:

    kubectl get svc nginx --namespace app-routing-system -o jsonpath='{.status.loadBalancer.ingress[0].ip}'
    
  4. HTTP uygulama yönlendirme eklentisini devre dışı bırakın.

    az aks disable-addons -g <ResourceGroupName> -n <ClusterName> --addons http_application_routing
    

Tüm HTTP uygulama yönlendirme kaynaklarını kaldırma ve silme

  1. HTTP uygulama yönlendirme eklentisi devre dışı bırakıldıktan sonra, ilgili bazı Kubernetes kaynakları kümenizde kalabilir. Bu kaynaklar kube-system ad alanında oluşturulan yapılandırma haritalarını ve gizli dizileri içerir. Temiz bir kümeyi korumak için bu kaynakları kaldırabilirsiniz. Aşağıdaki kubectl get komutları kullanarak addon-http-application-routing kaynaklarını arayın:

    kubectl get deployments --namespace kube-system
    kubectl get services --namespace kube-system
    kubectl get configmaps --namespace kube-system
    kubectl get secrets --namespace kube-system
    

    Aşağıdaki örnek çıktı, silinmesi gereken yapılandırma haritalarını gösterir:

    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
    
  2. komutunu kullanarak kubectl delete kalan kaynakları silin. Kaynak türünü, kaynak adını ve ad alanını belirttiğinizden emin olun. Aşağıdaki örnek, önceki yapılandırma haritalarından birini siler:

    kubectl delete configmaps addon-http-application-routing-nginx-configuration --namespace kube-system
    
  3. Kümenizde kalan tüm addon-http-application-routing kaynakları için önceki kubectl delete adımı yineleyin.

Sonraki adımlar

Uygulama yönlendirme eklentisine geçtikten sonra Prometheus ve Grafana ile Giriş denetleyicisi ölçümlerini izlemeyi öğrenin.