Spravované příchozí přenosy dat NGINX pomocí doplňku pro směrování aplikací
Jedním ze způsobů, jak směrovat provoz protokolu HTTP (Hypertext Transfer Protocol) a zabezpečeného provozu (HTTPS) do aplikací spuštěných v clusteru Azure Kubernetes Service (AKS), je použití objektu Příchozí přenos dat Kubernetes. Když vytvoříte objekt příchozího přenosu dat, který používá doplňky NGINX ingress směrování aplikace, doplněk vytvoří, nakonfiguruje a spravuje jeden nebo více kontrolerů příchozího přenosu dat v 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 kontrolerů příchozího přenosu dat NGINX na základě kontroleru příchozího přenosu dat NGINX Kubernetes
- 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:
- Konfigurace DNS a SSL
- Konfigurace doplňku směrování aplikací
- Nakonfigurujte interní kontroler příchozího přenosu dat NGIX pro privátní zónu DNS Azure.
Při vyřazení open service mesh (OSM) od základu CLOUD Native Computing Foundation (CNCF) se nedoporučuje používat doplněk 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ů.
- Všechny privátní zóny Azure DNS integrované s doplňkem musí být ve stejné skupině prostředků.
- Úpravy ingress-nginx
ConfigMap
vapp-routing-system
oboru názvů se nepodporují. - Následující poznámky fragmentu kódu jsou blokované a zabrání konfiguraci příchozího přenosu dat: , , , , , ,
}
{
proxy_pass
root
serviceaccount
, .'
location
_by_lua
lua_package
load_module
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
Povolení v 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 az aks install-cli
nainstalovat místně pomocí příkazu. 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á poznámky k objektům příchozího přenosu dat Kubernetes k vytvoření příslušných prostředků.
Vytvořte obor názvů aplikace volaný
aks-store
pro spuštění ukázkových podů pomocíkubectl create namespace
příkazu.kubectl create namespace aks-store
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 úložiště AKS.
Vytvoření objektu Příchozí přenos dat
Doplněk směrování aplikace vytvoří třídu příchozího přenosu dat v clusteru s názvem webapprouting.kubernetes.azure.com. Když vytvoříte objekt Ingress s touto třídou, aktivuje doplněk.
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
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ěření vytvoření spravovaného příchozího přenosu dat
Spravovaný příchozí přenos dat můžete ověřit pomocí kubectl get ingress
příkazu.
kubectl get ingress -n aks-store
Následující příklad výstupu ukazuje vytvořený spravovaný příchozí přenos dat:
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}"
Odebrání doplňku 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 oboru názvů systému směrování aplikace. Tyto prostředky můžete odebrat, pokud už je nepotřebujete, odstraněním oboru názvů pomocí kubectl delete ns app-routing-system
nástroje .
Další kroky
Konfigurace vlastních konfigurací příchozího přenosu dat ukazuje, jak vytvořit pokročilou konfiguraci příchozího přenosu dat a nakonfigurovat vlastní doménu pomocí Azure DNS ke správě zón DNS a nastavení zabezpečeného příchozího přenosu dat.
Pokud chcete provést integraci s interním nástrojem pro vyrovnávání zatížení Azure a nakonfigurovat privátní zónu Azure DNS, která umožňuje překlad DNS pro privátní koncové body pro překlad konkrétních domén, přečtěte si téma Konfigurace interního kontroleru příchozího přenosu dat NGINX pro privátní zónu DNS Azure.
Seznamte se s monitorováním metrik kontroleru příchozího přenosu dat nginx, které jsou součástí doplňku směrování aplikací pomocí nástroje Prometheus v Grafana (Preview) při analýze výkonu a využití vaší aplikace.
Azure Kubernetes Service