Megosztás a következőn keresztül:


Felügyelt NGINX-bejövő forgalom az alkalmazás-útválasztási bővítményrel

A Hypertext Transfer Protocol (HTTP) és a biztonságos (HTTPS) forgalom azure Kubernetes Service-fürtön (AKS) futó alkalmazásokhoz való átirányításának egyik módja a Kubernetes Bejövő forgalom objektum használata. Amikor létrehoz egy bejövő objektumot, amely az alkalmazás-útválasztási bővítmény NGINX bejövő osztályait használja, a bővítmény létrehoz, konfigurál és kezel egy vagy több bejövő vezérlőt az AKS-fürtben.

Ez a cikk bemutatja, hogyan helyezhet üzembe és konfigurálhat egy alapszintű bejövőforgalom-vezérlőt az AKS-fürtben.

Alkalmazás-útválasztási bővítmény NGINX-funkciókkal

Az NGINX-et tartalmazó alkalmazás-útválasztási bővítmény a következőket biztosítja:

  • Felügyelt NGINX bejövőforgalom-vezérlők egyszerű konfigurálása Kubernetes NGINX bejövőforgalom-vezérlő alapján.
  • Integráció az Azure DNS-sel a nyilvános és privát zónakezeléshez
  • SSL-leállítás az Azure Key Vaultban tárolt tanúsítványokkal.

További konfigurációkért lásd:

Az Open Service Mesh (OSM) a Cloud Native Computing Foundation (CNCF) általi kivonásával az OSM-et használó alkalmazás-útválasztási bővítmény használata nem ajánlott.

Előfeltételek

  • Azure-előfizetés. Ha nem rendelkezik Azure-előfizetéssel, létrehozhat egy ingyenes fiókot.
  • Az Azure CLI 2.54.0-s vagy újabb verziója telepítve és konfigurálva van. A verzió azonosításához futtassa a következőt: az --version. Ha telepíteni vagy frissíteni szeretne: Az Azure CLI telepítése.

Korlátozások

  • Az alkalmazás-útválasztási bővítmény legfeljebb öt Azure DNS-zónát támogat.
  • Az alkalmazás-útválasztási bővítmény csak felügyelt identitással rendelkező AKS-fürtökön engedélyezhető.
  • A bővítményrel integrált összes globális Azure DNS-zónának ugyanabban az erőforráscsoportban kell lennie.
  • A bővítményrel integrált összes privát Azure DNS-zónának ugyanabban az erőforráscsoportban kell lennie.
  • A névtérben lévő bejövő nginx ConfigMap app-routing-system szerkesztése nem támogatott.
  • A következő kódrészlet-széljegyzetek le vannak tiltva, és megakadályozzák a bejövő forgalom konfigurálását: load_module, , lua_package, _by_lua, rootlocation, {proxy_passserviceaccount}'.

Alkalmazás-útválasztás engedélyezése az Azure CLI használatával

Engedélyezés új fürtön

Ha engedélyezni szeretné az alkalmazás-útválasztást egy új fürtön, használja a az aks create parancsot, és adja meg a jelölőt --enable-app-routing .

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

Engedélyezés meglévő fürtön

Ha engedélyezni szeretné az alkalmazás-útválasztást egy meglévő fürtön, használja a az aks approuting enable parancsot.

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

Csatlakozás az AKS-fürthöz

Ahhoz, hogy csatlakozni tudjon a Kubernetes-fürthöz a helyi számítógépről, használja a Kubernetes kubectl nevű parancssori ügyfelét. A parancs használatával az aks install-cli helyileg telepítheti. Ha az Azure Cloud Shellt használja, a kubectl már telepítve van.

Konfigurálja kubectl a Kubernetes-fürthöz való csatlakozást az az aks get-credentials paranccsal.

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

Alkalmazás üzembe helyezése

Az alkalmazás-útválasztási bővítmény a Kubernetes Bejövő forgalom objektumainak megjegyzéseit használja a megfelelő erőforrások létrehozásához.

  1. Hozza létre a példa podok futtatásához hívott aks-store alkalmazásnévteret a kubectl create namespace paranccsal.

    kubectl create namespace aks-store
    
  2. Telepítse az AKS-tárolóalkalmazást a következő YAML-jegyzékfájl használatával:

    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
    

Ez a jegyzék létrehozza az AKS-tárolóalkalmazáshoz szükséges üzembe helyezéseket és szolgáltatásokat.

A bejövő forgalom objektumának létrehozása

Az alkalmazás-útválasztási bővítmény létrehoz egy bejövő osztályt a webapprouting.kubernetes.azure.com nevű fürtön. Amikor ezzel az osztálysal hoz létre bejövő objektumot, az aktiválja a bővítményt.

  1. Másolja a következő YAML-jegyzékfájlt egy ingress.yaml nevű új fájlba, és mentse a fájlt a helyi számítógépre.

    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. Hozza létre a bejövő erőforrást a kubectl apply paranccsal.

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

    A következő példakimenet a létrehozott erőforrást mutatja be:

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

A felügyelt bejövő forgalom létrehozásának ellenőrzése

A parancs használatával ellenőrizheti, hogy a felügyelt bejövő forgalom létrejött-e kubectl get ingress .

kubectl get ingress -n aks-store

A következő példakimenet a létrehozott felügyelt bejövő forgalmat mutatja be:

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

Ellenőrizheti, hogy az AKS-tároló működik-e, és a böngésző a bejövőforgalom-vezérlő nyilvános IP-címére mutat. Keresse meg az IP-címet a kubectl használatával:

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

Az alkalmazás útválasztási bővítményének eltávolítása

A társított névtér eltávolításához használja a kubectl delete namespace parancsot.

kubectl delete namespace aks-store

Az alkalmazás-útválasztási bővítmény fürtből való eltávolításához használja a az aks approuting disable parancsot.

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

Feljegyzés

Annak érdekében, hogy elkerülje a fürtbe irányuló forgalom esetleges megszakadását, amikor az alkalmazás-útválasztási bővítmény le van tiltva, néhány Kubernetes-erőforrás, beleértve a konfigurációtérképeket, a titkos kulcsokat és a vezérlőt futtató üzembe helyezést, a fürtön marad. Ezek az erőforrások az alkalmazás-útválasztási rendszer névterében találhatók. Ezeket az erőforrásokat eltávolíthatja, ha már nincs rájuk szükség a névtér törlésével kubectl delete ns app-routing-system.

Következő lépések