Spravovaný NGINX Ingress s doplňkem pro směrování aplikací

Upozornění

Kubernetes SIG Network a Výbor pro bezpečnostní reakce oznámily, že projekt Ingress NGINX bude vyřazen, přičemž údržba končí v březnu 2026. Pro clustery AKS, které používaní doplněk NGINX pro směrování aplikací, dnes není vyžadována žádná okamžitá akce. Microsoft poskytne oficiální podporu pro zásadní opravy zabezpečení pro prostředky NGINX Ingress směrování aplikací včetně listopadu 2026.

AKS se přizpůsobuje upstream Kubernetes přechodem na Gateway API jako dlouhodobý standard pro ingress a správu provozu L7. Doporučujeme začít plánovat cestu migrace na základě aktuálního nastavení:

Jedním ze způsobů, jak směrovat provoz protokolu HTTP a zabezpečeného protokolu (HTTPS) do aplikací spuštěných v clusteru Azure Kubernetes Service (AKS), je použití objektu Kubernetes Ingress. Když vytvoříte objekt Ingress, který používá doplněk tříd NGINX Ingress pro směrování aplikací, doplněk vytvoří, nakonfiguruje a spravuje jeden nebo více Ingress kontrolérů ve vašem clusteru AKS.

V tomto článku se dozvíte, jak nasadit a nakonfigurovat základní kontroler příchozího přenosu dat v clusteru AKS.

Doplněk směrování aplikací s funkcemi NGINX

Doplněk směrování aplikací s NGINX poskytuje následující:

  • Snadná konfigurace spravovaných NGINX Ingress kontrolerů založených na Kubernetes NGINX Ingress kontroleru.
  • Integrace s Azure DNS pro správu veřejných a privátních zón
  • Ukončení protokolu SSL s certifikáty uloženými ve službě Azure Key Vault

Další konfigurace najdete tady:

Při vyřazení Open Service Mesh (OSM) od Cloud Native Computing Foundation (CNCF) se nedoporučuje používat doplněk pro směrování aplikací s OSM.

Požadavky

  • Předplatné Azure. Pokud ještě nemáte předplatné Azure, můžete si vytvořit bezplatný účet.
  • Azure CLI verze 2.54.0 nebo novější je nainstalovaná a nakonfigurovaná. Verzi zjistíte spuštěním příkazu az --version. Pokud potřebujete instalaci nebo upgrade, přečtěte si téma Instalace Azure CLI.

Omezení

  • Doplněk pro směrování aplikací podporuje až pět zón Azure DNS.
  • Doplněk pro směrování aplikací je možné povolit jenom v clusterech AKS se spravovanou identitou.
  • Všechny globální zóny Azure DNS integrované s doplňkem musí být ve stejné skupině prostředků.
  • Veškeré privátní DNS zóny Azure integrované s doplňkem musí být ve stejné skupině prostředků.
  • Úpravy ingress-nginx ConfigMap ve app-routing-system jmenném prostoru se nepodporují.
  • Následující poznámky fragmentu kódu jsou blokované a zabrání konfiguraci příchozího přenosu dat: , , , , , , load_modulelua_package_by_lualocationroot, . proxy_passserviceaccount{}'

Povolení směrování aplikací pomocí Azure CLI

Povolení v novém clusteru

Pokud chcete povolit směrování aplikací v novém clusteru, použijte az aks create příkaz a --enable-app-routing zadejte příznak.

az aks create \
    --resource-group <ResourceGroupName> \
    --name <ClusterName> \
    --location <Location> \
    --enable-app-routing \
    --generate-ssh-keys

Povolte na existujícím clusteru

Pokud chcete povolit směrování aplikací v existujícím clusteru, použijte az aks approuting enable příkaz.

az aks approuting enable --resource-group <ResourceGroupName> --name <ClusterName>

Připojení ke clusteru AKS

Pokud se chcete připojit ke clusteru Kubernetes z místního počítače, použijte klienta příkazového řádku Kubernetes kubectl. Můžete ho nainstalovat místně pomocí příkazu az aks install-cli. Pokud používáte Azure Cloud Shell, kubectl je už nainstalovaný.

Nakonfigurujte kubectl připojení ke clusteru Kubernetes pomocí příkazu az aks get-credentials .

az aks get-credentials --resource-group <ResourceGroupName> --name <ClusterName>

Nasazení aplikace

Doplněk směrování aplikace používá anotace na objektech Kubernetes Ingress k vytvoření příslušných prostředků.

  1. Vytvořte obor názvů aplikace s názvem aks-store pro spuštění ukázkových podů pomocí příkazu kubectl create namespace.

    kubectl create namespace aks-store
    
  2. Nasaďte aplikaci úložiště AKS pomocí následujícího souboru manifestu 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
    

Tento manifest vytvoří potřebná nasazení a služby pro aplikaci obchodu AKS.

Vytvořte objekt Ingress

Doplněk směrování aplikace vytvoří Ingress třídu v clusteru s názvem webapprouting.kubernetes.azure.com. Když vytvoříte objekt Ingress s touto třídou, aktivuje doplněk.

  1. Zkopírujte následující manifest YAML do nového souboru s názvem ingress.yaml a uložte ho do místního počítače.

    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
    
  2. Pomocí příkazu vytvořte prostředek příchozího kubectl apply přenosu dat.

    kubectl apply -f ingress.yaml -n aks-store
    

    Následující příklad výstupu ukazuje vytvořený prostředek:

    ingress.networking.k8s.io/store-front created
    

Ověřte, že byl vytvořen spravovaný Ingress

Spravovaný Ingress můžete ověřit pomocí příkazu kubectl get ingress.

kubectl get ingress -n aks-store

Následující příklad výstupu ukazuje vytvořený spravovaný Ingress:

NAME          CLASS                                HOSTS   ADDRESS       PORTS   AGE
store-front   webapprouting.kubernetes.azure.com   *       51.8.10.109   80      110s

Můžete ověřit, že úložiště AKS funguje tak, že prohlížeč odkazuje na veřejnou IP adresu kontroleru příchozího přenosu dat. Vyhledejte IP adresu pomocí kubectl:

kubectl get service -n app-routing-system nginx -o jsonpath="{.status.loadBalancer.ingress[0].ip}"

Odstraňte doplněk pro směrování aplikací

Chcete-li odebrat přidružený obor názvů, použijte kubectl delete namespace příkaz.

kubectl delete namespace aks-store

Pokud chcete z clusteru odebrat doplněk pro směrování aplikací, použijte az aks approuting disable příkaz.

az aks approuting disable --name <ClusterName> --resource-group <ResourceGroupName>

Poznámka:

Aby se zabránilo potenciálnímu přerušení provozu do clusteru, když je doplněk pro směrování aplikací zakázaný, některé prostředky Kubernetes, včetně objektů configMap, tajných kódů a nasazení, které spouští kontroler, zůstanou v clusteru. Tyto prostředky jsou v app-routing-system oboru názvů. Tyto prostředky můžete odebrat, pokud už je nepotřebujete, odstraněním oboru názvů pomocí kubectl delete ns app-routing-system.

Další kroky