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.
- 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 nebo az aks enable-addons
příkaz s parametrem nastaveným --addons
na http_application_routing
.
# az aks approuting enable
az aks approuting enable --resource-group <ResourceGroupName> --name <ClusterName>
# az aks enable-addons
az aks enable-addons --resource-group <ResourceGroupName> --name <ClusterName> --addons http_application_routing
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ý
hello-web-app-routing
pro spuštění ukázkových podů pomocíkubectl create namespace
příkazu.kubectl create namespace hello-web-app-routing
Vytvořte nasazení zkopírováním následujícího manifestu YAML do nového souboru s názvem deployment.yaml a uložte ho do místního počítače.
apiVersion: apps/v1 kind: Deployment metadata: name: aks-helloworld namespace: hello-web-app-routing spec: replicas: 1 selector: matchLabels: app: aks-helloworld template: metadata: labels: app: aks-helloworld spec: containers: - name: aks-helloworld image: mcr.microsoft.com/azuredocs/aks-helloworld:v1 ports: - containerPort: 80 env: - name: TITLE value: "Welcome to Azure Kubernetes Service (AKS)"
Vytvořte službu zkopírováním následujícího manifestu YAML do nového souboru s názvem service.yaml a uložte soubor do místního počítače.
apiVersion: v1 kind: Service metadata: name: aks-helloworld namespace: hello-web-app-routing spec: type: ClusterIP ports: - port: 80 selector: app: aks-helloworld
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: aks-helloworld namespace: hello-web-app-routing spec: ingressClassName: webapprouting.kubernetes.azure.com rules: - host: <Hostname> http: paths: - backend: service: name: aks-helloworld port: number: 80 path: / pathType: Prefix
Pomocí příkazu vytvořte prostředky clusteru
kubectl apply
.kubectl apply -f deployment.yaml -n hello-web-app-routing
Následující příklad výstupu ukazuje vytvořený prostředek:
deployment.apps/aks-helloworld created
kubectl apply -f service.yaml -n hello-web-app-routing
Následující příklad výstupu ukazuje vytvořený prostředek:
service/aks-helloworld created
kubectl apply -f ingress.yaml -n hello-web-app-routing
Následující příklad výstupu ukazuje vytvořený prostředek:
ingress.networking.k8s.io/aks-helloworld 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 hello-web-app-routing
Následující příklad výstupu ukazuje vytvořený spravovaný příchozí přenos dat:
NAME CLASS HOSTS ADDRESS PORTS AGE
aks-helloworld webapprouting.kubernetes.azure.com myapp.contoso.com 20.51.92.19 80, 443 4m
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 hello-web-app-routing
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 myAKSCluster --resource-group myResourceGroup
Pokud je doplněk pro směrování aplikací zakázaný, některé prostředky Kubernetes můžou zůstat v clusteru. Tyto prostředky zahrnují objekty configMap a tajné kódy a jsou vytvořeny v oboru názvů systému směrování aplikace. Pokud chcete, můžete tyto prostředky odebrat.
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
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro