Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Důležité
Funkce AKS ve verzi Preview jsou k dispozici na bázi samoobsluhy a dobrovolného přihlášení. Ukázky jsou poskytovány "jak jsou" a "podle aktuální dostupnosti" a jsou vyloučené ze smluv o úrovni služeb a omezené záruky. Předběžné verze AKS jsou částečně pokryty zákaznickou podporou podle možností. Proto tyto funkce nejsou určené pro produkční použití. Další informace najdete v následujících článcích podpory:
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í:
- Uživatelé doplňků pro směrování aplikací: Produkční úkoly zůstávají plně podporované do listopadu 2026. Migrace na implementaci rozhraní API služby Application Routing Gateway pro prostředí správy příchozího přenosu dat založeného na rozhraní API brány
-
Uživatelé NGINX OSS mají několik možností:
- Migrujte na doplněk směrování aplikací pomocí NGINX, abyste mohli čerpat oficiální podporu až do listopadu 2026, a zároveň plánujte svou dlouhodobou migraci rozhraní API brány.
- Migrace na implementaci rozhraní API služby Application Routing Gateway pro prostředí správy příchozího přenosu dat založeného na rozhraní API brány
- Přejděte na službu Application Gateway pro kontejnery, která podporuje Ingress API i Gateway API.
- Uživatelé sítě služeb: Pokud plánujete přijmout síť služeb, zvažte doplněk Sítě služeb založený na Istio. Použijte rozhraní Istio Ingress dnes a naplánujte migraci na podporu rozhraní API istio Gateway, jakmile se stane obecně dostupným.
Doplněk pro směrování aplikací podporuje rozhraní API brány Kubernetes pro správu příchozího přenosu dat. Rozhraní API brány Kubernetes je sada prostředků, které poskytují standardizovaný, na role orientovaný a rozšiřitelný rámec pro správu provozu, navržený jako následník a vývoj rozhraní Ingress API. Implementace rozhraní API služby Application Routing Gateway proto slouží jako nástupce spravovaného doplňku NGINX, který je založený na starším rozhraní Ingress API a po listopadu 2026 přestane být podporován Azure. Pokud používáte spravované rozhraní NGINX, musíte do listopadu 2026 migrovat na implementaci rozhraní API služby Application Routing Gateway nebo jinou podporovanou implementaci.
Implementace rozhraní Kubernetes Gateway API pro aplikační směrování nasadí řídicí rovinu Istio ke správě infrastruktury pro prostředky Kubernetes Gateway API. Ale liší se od doplňku Istio Service Mesh pro AKS následujícími způsoby:
| funkce | API brána pro směrování aplikací | Doplněk Istio Service Mesh |
|---|---|---|
| Název třídy brány | approuting-istio |
istio |
| Podpora injektáže sidecaru a Istio CRD | Nepodporováno. Spravuje pouze infrastrukturu pro prostředky rozhraní API brány Kubernetes. | Podporováno |
| Přepracování a aktualizace | Není revidováno. Aktualizováno přímo pro menší a opravné aktualizace verze | Revidováno. Upgrade prostřednictvím kanárských upgradů pro aktualizace podverze a přímo pro opravy verze. |
Omezení
Současně nelze povolit implementaci rozhraní API služby Application Routing Gateway a doplněk Istio Service Mesh . Nejprve je nutné jednu zakázat a povolit druhou v samostatné operaci. Při přechodu z doplňku Istio Service Mesh na implementaci rozhraní API směrování aplikací Gateway musíte po zakázání doplňku Istio odstranit Istio GatewayClass a Istio CRDs. Doplněk Istio nainstaluje CRD (například
virtualservices.networking.istio.io,destinationrules.networking.istio.io, a další ve skupinách APInetworking.istio.io,security.istio.io,telemetry.istio.ioaextensions.istio.io), které se neodeberou, když je doplněk zakázán. Pokud tyto CRD zůstanou v clusteru, řídicí rovina Istio v Application Routing Gateway API se nespustí. Spuštěním následujícího příkazu je odstraňte:kubectl delete crd $(kubectl get crd -o name | grep -E 'istio\.io') kubectl delete gatewayclass istio
Poznámka:
Pokud máte existující vlastní prostředky Istio (například VirtualServices nebo DestinationRules), odstraněním identifikátorů CRD odstraníte také tyto prostředky. Než budete pokračovat, ujistěte se, že je už nepotřebujete.
- Implementace rozhraní API služby Application Routing Gateway používá stejný seznam povolených přizpůsobení prostředků jako doplněk Istio pro ověřování přizpůsobení objektů ConfigMap pro
Gatewayprostředky. Vlastní nastavení, která nejsou v seznamu povolených, jsou blokovaná prostřednictvím webhooků spravovaných doplňkem. -
Správa certifikátů Azure DNS a TLS prostřednictvím doplňku pro směrování aplikací se v současné době nepodporuje pro rozhraní API brány Kubernetes. Můžete postupovat podle kroků v průvodci implementace API brány Application Routing Gateway pro zabezpečený příchozí přenos a nakonfigurovat
Gatewaypro ukončení protokolu TLS. - Konfigurace příchozího přístupu HTTPS ke službám HTTPS – tj. průchod SNI prostřednictvím
TLSRouteprostředku není aktuálně podporováno. - Správa odchozího provozu prostřednictvím implementace rozhraní API služby Application Routing Gateway není podporována.
Předpoklady
aks-previewNainstalujte rozšíření nebo aktualizujte na nejnovější verzi rozšíření pomocí příkazů [az extension add][az-extension-add] a [az extension update][az-extension-update]. pokud používáte Azure CLI. Musíte použítaks-previewverzi19.0.0b24a novější.# Install the aks-preview extension az extension add --name aks-preview # Update the aks-preview extension to the latest version az extension update --name aks-previewPovolte instalaci rozhraní API Spravované brány. Použití CRD rozhraní API samostatně řízené brány s doplňkem pro směrování aplikací není podporováno.
Zaregistrujte příznak funkce API App Routing Gateway v předběžné verzi.
Příznak funkce
AppRoutingIstioGatewayAPIPreviewzaregistrujte pomocí příkazuaz feature register.az feature register --namespace "Microsoft.ContainerService" --name "AppRoutingIstioGatewayAPIPreview"
Povolení implementace rozhraní API služby Application Routing Gateway
Nastavení proměnných prostředí
export CLUSTER=<cluster-name>
export RESOURCE_GROUP=<resource-group-name>
Povolení při vytváření clusteru
Spuštěním následujícího příkazu povolte implementaci rozhraní API služby Application Routing Gateway během vytváření clusteru:
az aks create --resource-group ${RESOURCE_GROUP} --name ${CLUSTER} --enable-app-routing-istio
Povolení pro existující cluster
Spuštěním následujícího příkazu povolte implementaci rozhraní API služby Application Routing Gateway pro existující cluster:
az aks update --resource-group ${RESOURCE_GROUP} --name ${CLUSTER} --enable-app-routing-istio
Měli byste vidět istiod pody v oboru názvů aks-istio-system.
kubectl get pods -n aks-istio-system
NAME READY STATUS RESTARTS AGE
istiod-54b4ff45cf-htph8 1/1 Running 0 3m15s
istiod-54b4ff45cf-wlvgd 1/1 Running 0 3m
Měli byste také vidět nasazení ValidatingWebhookConfiguration.
kubectl get validatingwebhookconfiguration
NAME WEBHOOKS AGE
aks-node-validating-webhook 1 117m
azure-service-mesh-ccp-validating-webhook 1 4m2s
Pokud máte povolenou instalaci API spravované brány, měli byste také vidět vytvoření objektu ConfigMap pro přizpůsobení brány Istio:
kubectl get cm -n aks-istio-system
NAME DATA AGE
...
istio-gateway-class-defaults 2 43s
...
Konfigurace vstupu pomocí brány Kubernetes
Nasazení ukázkové aplikace
Nejprve nasaďte tu ukázkovou httpbin aplikaci v default jmenném prostoru:
export ISTIO_RELEASE="release-1.27"
kubectl apply -f https://raw.githubusercontent.com/istio/istio/$ISTIO_RELEASE/samples/httpbin/httpbin.yaml
Vytvořit Kubernetes Gateway a HTTPRoute
Dále nasaďte konfiguraci rozhraní API brány v oboru názvů default s nastavením na hodnotu gatewayClassNameapprouting-istio.
kubectl apply -f - <<EOF
apiVersion: gateway.networking.k8s.io/v1
kind: Gateway
metadata:
name: httpbin-gateway
spec:
gatewayClassName: approuting-istio
listeners:
- name: http
port: 80
protocol: HTTP
allowedRoutes:
namespaces:
from: Same
---
apiVersion: gateway.networking.k8s.io/v1
kind: HTTPRoute
metadata:
name: httpbin
spec:
parentRefs:
- name: httpbin-gateway
hostnames: ["httpbin.example.com"]
rules:
- matches:
- path:
type: PathPrefix
value: /get
backendRefs:
- name: httpbin
port: 8000
EOF
Poznámka:
Výše uvedený příklad vytvoří externí službu vstupního vyrovnávače zatížení, která je přístupná zvenku clusteru. Přidáním poznámek můžete vytvořit interní nástroj pro vyrovnávání zatížení a přizpůsobit další nastavení nástroje pro vyrovnávání zatížení.
Poznámka:
Ve výchozím nastavení řídicí rovina Istio připojí název GatewayClass k názvu prostředků, které zřizuje pro approuting-istio. K vašemu prostředku Gateway můžete připojit poznámky gateway.istio.io/name-override, abyste přepsali název zřízených prostředků. Názvy prostředků musí být menší než 63 znaky a musí to být platný název DNS.
Ověřte, že se vytvoří Deployment, Service, HorizontalPodAutoscaler a PodDisruptionBudget pro httpbin-gateway:
kubectl get deployment httpbin-gateway-approuting-istio
NAME READY UP-TO-DATE AVAILABLE AGE
httpbin-gateway-approuting-istio 2/2 2 2 6m41s
kubectl get service httpbin-gateway-approuting-istio
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
httpbin-gateway-approuting-istio LoadBalancer 10.0.54.96 <external-ip> 15021:30580/TCP,80:32693/TCP 7m13s
kubectl get hpa httpbin-gateway-approuting-istio
NAME REFERENCE TARGETS MINPODS MAXPODS REPLICAS AGE
httpbin-gateway-approuting-istio Deployment/httpbin-gateway-approuting-istio cpu: 3%/80% 2 5 2 8m13s
kubectl get pdb httpbin-gateway-approuting-istio
NAME MIN AVAILABLE MAX UNAVAILABLE ALLOWED DISRUPTIONS AGE
httpbin-gateway-approuting-istio 1 N/A 1 9m1s
Odeslání požadavku do ukázkové aplikace
Nakonec zkuste odeslat curl žádost do httpbin aplikace. Nejprve nastavte proměnnou INGRESS_HOST prostředí:
kubectl wait --for=condition=programmed gateways.gateway.networking.k8s.io httpbin-gateway
export INGRESS_HOST=$(kubectl get gateways.gateway.networking.k8s.io httpbin-gateway -ojsonpath='{.status.addresses[0].value}')
Pak zkuste odeslat požadavek HTTP na httpbin:
curl -s -I -HHost:httpbin.example.com "http://$INGRESS_HOST/get"
Měli byste vidět HTTP 200 odpověď.
Poznámka:
Pokud chcete zabezpečit příchozí přenos dat pomocí implementace rozhraní API služby Application Routing Gateway, přečtěte si následující průvodce synchronizací tajných kódů ze služby Azure Key Vault (AKV) pro zabezpečení příchozího přenosu dat rozhraní API brány s ukončením protokolu TLS.
Správa verzí a upgrady
Implementace rozhraní API brány směrování aplikací nasadí a upgraduje řídicí rovinu Istio podle verze Kubernetes clusteru AKS pro upgrady podverze a verze opravných balíčků.
Verze Istio je maximální podporovaná podverze Istio, která je kompatibilní s verzí AKS vašeho clusteru. Pokud například používáte verzi 1.34 AKS, je maximální podporovaná podverze Istio nainstalovaná (od března 2026) 1.28. Mějte na paměti, že maximální podporovaná verze Istio pro danou verzi Kubernetes se může lišit mezi clustery s dlouhodobou podporou (LTS) a clustery bez dlouhodobé podpory (LTS).
Abyste našli maximální podporovanou menší verzi Istio pro vaši verzi AKS Kubernetes, můžete zkontrolovat kalendář doplňku Service Mesh. I když implementace rozhraní API směrování Gateway není revizí, podverze řídicí roviny Istio odpovídá dané revizi doplňku síťě služeb (např. pro doplněk síťě služebasm-1-28, podverze řídicí roviny Istio pro směrování aplikace by byla 1.28). Podverzi Istio můžete zobrazit také tak, že zkontrolujete patch verzi v istiod obrazu nasazení: kubectl get deployment istiod -n aks-istio-system -o=jsonpath="{.spec.template.spec.containers[*].image}".
Vylepšení
Aktualizace verze opravy a dílčí verze řídicí roviny Istio pro implementaci rozhraní API služby Application Routing Gateway probíhá na místě. Aktualizace opravy verzí řídicí roviny Istio jsou spuštěny automaticky jako součást vydání AKS. Aktualizace dílčí verze se dají aktivovat automaticky nebo ručně v závislosti na verzi AKS Kubernetes a načasování vydání dílčí verze Istio. Aktualizace drobné verze se provádí v následujících dvou scénářích.
- Cluster AKS se upgraduje na novou verzi, která má připnutou vyšší podporovanou verzi Istio. Řídicí rovina Istio bude při upgradu clusteru AKS upgradována na vyšší dílčí verzi.
- Pro AKS je vydána nová verze Istio a teď je maximální podporovanou verzí Istio pro verzi clusteru AKS. Řídicí rovina Istio ve vašem clusteru se po uvedení verze do vaší oblasti automaticky upgraduje na novou podverzi. Sledujte poznámky k verzi AKS a nástroj pro sledování verzí AKS a zjistěte o nových verzích Istio a kdy bude nová verze dostupná ve vaší oblasti.
Je možné, že během procesu upgradu může dojít k přerušení provozu. Aby se minimalizovalo přerušení během upgradů, nasadí doplněk pro směrování aplikací horizontální automatické škálování podů (HPA) se 2 minimálními replikami a souborem PDB (PodDisruptionBudget) s minimální dostupností 1 pro každou z nich Gateway.
Tyto prostředky můžete přizpůsobit, abyste tato nastavení upravili.
Přizpůsobení prostředků
Přizpůsobení horizontálního automatického škálování podů v řídicí rovině (HPA)
Implementace rozhraní API směrování aplikací Gateway podporuje přizpůsobení řídicí roviny Istio pro horizontální automatické škálování podů (HPA). Prostředek istiod HPA má následující výchozí konfigurace:
- Minimální repliky: 2
- Maximální počet replik: 5
- Využití procesoru: 80%
Poznámka:
Aby se zabránilo konfliktům s PodDisruptionBudget, rozhraní API služby Application Routing Gateway v aplikaci neumožňuje nastavení minReplicas pod počáteční výchozí hodnotou 2.
Konfiguraci HPA je možné upravit prostřednictvím oprav a přímých úprav. Příklad:
kubectl patch hpa istiod -n aks-istio-system --type merge --patch '{"spec": {"minReplicas": 3, "maxReplicas": 6}}'
Přizpůsobení prostředků síťové brány
Implementace rozhraní API služby Application Routing Gateway podporuje přizpůsobení Gateway prostředků prostřednictvím poznámek a objektů ConfigMap. Směrování aplikací používá stejný seznam povolených úprav prostředků jako doplněk Istio Service Mesh pro úpravy prostředků API brány. Podle pokynů v dokumentaci k rozhraní API pro doplňky Istio nakonfigurujte prostředky vygenerované pro dané Gateways rozhraní API a zjistěte, která pole spadají do seznamu povolených položek.
Poznámka:
Objekt istio-gateway-class-defaults ConfigMap je zřízený a odsouhlasený službou AKS, když jsou společně povoleny identifikátory CRD rozhraní API spravované brány a implementace rozhraní API služby Application Routing Gateway. Pokud jste dříve vytvořili objekt ConfigMap v oboru názvů istio-gateway-class-defaults sami, musíte před povolením identifikátorů Gateway API CRD spravovaných službou odstranit vlastní instanci ConfigMap, abyste zabránili konfliktům s vyrovnáním ConfigMap spravovaného službou AKS.
Zakázání implementace rozhraní API služby Application Routing Gateway
Spuštěním následujícího příkazu zakažte implementaci rozhraní API služby Application Routing Gateway:
az aks update --resource-group ${RESOURCE_GROUP} --name ${CLUSTER} --disable-app-routing-istio
Vyčištění zdrojů
Spuštěním následujících příkazů odstraňte příkazy Gateway a HttpRoute:
kubectl delete gateways.gateway.networking.k8s.io httpbin-gateway
kubectl delete httproute httpbin
Pokud jste vytvořili ConfigMap pro přizpůsobení Gateway, spusťte následující příkaz pro odstranění ConfigMap:
kubectl delete configmap gw-options
Pokud jste vytvořili secretProviderClass a tajný klíč pro použití pro ukončení protokolu TLS, odstraňte také následující prostředky:
kubectl delete secret httpbin-credential
kubectl delete pod secrets-store-sync-httpbin
kubectl delete secretproviderclass httpbin-credential-spc