Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Waarschuwing
Het Kubernetes SIG Network en de Security Response Committee kondigde de aanstaande buitengebruikstelling van het NGINX-project voor inkomend verkeer aan, met een einde aan onderhoud in maart 2026. Er is momenteel geen onmiddellijke actie vereist voor AKS-clusters met behulp van de invoegtoepassing voor toepassingsroutering met NGINX. Microsoft biedt officiële ondersteuning tot en met november 2026 voor kritieke beveiligingspatches voor de application routing-add-on NGINX Ingress-resources.
AKS is afgestemd op upstream Kubernetes door over te stappen op gateway-API als de langetermijnstandaard voor inkomend verkeer en L7-verkeerbeheer. U wordt aangeraden uw migratiepad te plannen op basis van uw huidige installatie:
- Invoegtoepassingsgebruikers voor toepassingsroutering: Productieworkloads blijven volledig ondersteund tot november 2026. Migreer naar de Gateway API-implementatie voor toepassingsroutering voor een op Gateway API gebaseerd beheer van inkomend verkeer.
-
OSS NGINX-gebruikers hebben verschillende opties:
- Migreer naar de invoegtoepassing voor toepassingsroutering met NGINX om te profiteren van officiële ondersteuning tot en met november 2026 tijdens het plannen van uw gateway-API-migratie op lange termijn.
- Migreer naar de Gateway API-implementatie voor toepassingsroutering voor een op Gateway API gebaseerd beheer van inkomend verkeer.
- Migreren naar Application Gateway voor containers, die ondersteuning biedt voor zowel de Ingress-API als de Gateway-API.
- Service mesh-gebruikers: Als u van plan bent om een service-mesh te gebruiken, kunt u de invoegtoepassing service mesh op basis van Istio overwegen. Gebruik vandaag nog Istio Ingress en plan de migratie naar de Istio Gateway API, die nu algemeen beschikbaar (GA) is.
Een manier om Hypertext Transfer Protocol (HTTP) en beveiligd (HTTPS)-verkeer te routeren naar toepassingen die worden uitgevoerd op een AKS-cluster (Azure Kubernetes Service), is het kubernetes-object voor inkomend verkeer te gebruiken. Wanneer u de invoegtoepassing voor toepassingsroutering inschakelt met NGINX, wordt er een controller voor inkomend verkeer in uw AKS-cluster gemaakt, geconfigureerd en beheerd.
In dit artikel leest u hoe u de beheerde NGINX-ingangscontroller inschakelt en een inkomend object configureert om verkeer naar een toepassing in uw AKS-cluster te routeren.
Invoegtoepassing voor toepassingsroutering met NGINX-functies
De invoegtoepassing voor toepassingsroutering met NGINX levert het volgende:
- Eenvoudige configuratie van beheerde NGINX-ingangscontrollers op basis van kubernetes NGINX-ingangscontroller.
- Integratie met Azure DNS voor beheer van openbare en privézones.
- SSL-beëindiging met certificaten die zijn opgeslagen in Azure Key Vault.
Zie voor andere configuraties:
- DNS- en SSL-configuratie.
- Invoegtoepassingsconfiguratie voor toepassingsroutering.
- Configureer de interne NGINX-ingangscontroller voor Azure privé-DNS-zone.
Belangrijk
Vanaf 30 september 2027 ondersteunt Azure Kubernetes Service (AKS) de invoegtoepassing Open Service Mesh (OSM) niet meer. Het upstream Open Service Mesh-project is buiten gebruik gesteld.
Als uw cluster gebruikmaakt van de OSM-invoegtoepassing, migreert u naar de Istio-invoegtoepassing vóór de einddatum van de ondersteuning. Deze buitengebruikstellingsmelding is alleen van toepassing op de beheerde OSM-invoegtoepassing en heeft geen betrekking op opensource- of zelfbeheerde mesh-installaties. Zie Migratierichtlijnen van de OSM-invoegtoepassing naar de Istio-invoegtoepassing voor migratiestappen. Als u op de hoogte wilt blijven van AKS-aankondigingen en updates, volgt u de opmerkingen bij de AKS-release.
Prerequisites
- Een Azure-abonnement. Als u geen Azure-abonnement hebt, kunt u een gratis account maken.
- Azure CLI versie 2.54.0 of hoger geïnstalleerd en geconfigureerd. Voer
az --versionuit om de versie te vinden. Als u Azure CLI wilt installeren of upgraden, raadpleegt u Azure CLI installeren.
Limitations
De invoegtoepassing voor toepassingsroutering ondersteunt maximaal vijf Azure DNS-zones.
De invoegtoepassing voor toepassingsroutering kan alleen worden ingeschakeld op AKS-clusters met beheerde identiteit.
Alle globale Azure DNS-zones die zijn geïntegreerd met de invoegtoepassing, moeten zich in dezelfde resourcegroep bevinden.
Alle privé-Azure DNS-zones die zijn geïntegreerd met de invoegtoepassing, moeten zich in dezelfde resourcegroep bevinden.
Het bewerken van de ingress-nginx
ConfigMapin deapp-routing-systemnaamruimte wordt niet ondersteund.Als een fragmentaantekeningswaarde overeenkomt met een van de volgende geblokkeerde waarden, is het inkomend verkeer niet geconfigureerd:
Geblokkeerde waarde Effect load_moduleHet toegangsbeheerobject is niet geconfigureerd. lua_packageHet toegangsbeheerobject is niet geconfigureerd. _by_luaHet toegangsbeheerobject is niet geconfigureerd. locationHet toegangsbeheerobject is niet geconfigureerd. rootHet toegangsbeheerobject is niet geconfigureerd. proxy_passHet toegangsbeheerobject is niet geconfigureerd. serviceaccountHet toegangsbeheerobject is niet geconfigureerd. {Het toegangsbeheerobject is niet geconfigureerd. }Het toegangsbeheerobject is niet geconfigureerd. 'Het toegangsbeheerobject is niet geconfigureerd. De invoegtoepassing biedt geen officieel ondersteuning voor het injecteren van niet-Microsoft beheerde sidecars (bijvoorbeeld aangepaste telemetrie-, logboekregistratie- of beveiligingsagents) in de ingress-nginx-proxypods die worden beheerd. Als u ervoor kiest om uw eigen sidecar in een beheerde proxypod te injecteren, biedt Microsoft alleen best effort-ondersteuning voor eventuele problemen die u ondervindt.
Schakel de invoegtoepassing voor toepassingsroutering in met behulp van Azure CLI
Inschakelen op een nieuw cluster
Als u toepassingsroutering op een nieuw cluster wilt inschakelen, gebruikt u de az aks create opdracht en geeft u de --enable-app-routing vlag op.
az aks create \
--resource-group <resource-group-name> \
--name <cluster-name> \
--location <location> \
--enable-app-routing \
--generate-ssh-keys
Inschakelen op een bestaand cluster
Gebruik de az aks approuting enable opdracht om toepassingsroutering in te schakelen op een bestaand cluster.
az aks approuting enable --resource-group <resource-group-name> --name <cluster-name>
Verbinding maken met uw AKS-cluster
Als u vanaf uw lokale computer verbinding wilt maken met het Kubernetes-cluster, gebruikt kubectlu de Kubernetes-opdrachtregelclient. U kunt deze lokaal installeren met behulp van de az aks install-cli opdracht. Als u Azure Cloud Shell gebruikt, is kubectl al geïnstalleerd.
Configureer kubectl om verbinding te maken met uw Kubernetes-cluster met behulp van het az aks get-credentials commando.
az aks get-credentials --resource-group <resource-group-name> --name <cluster-name>
Een app implementeren
Kubernetes-objecten voor inkomend verkeer definiëren routeringsregels voor een controller voor inkomend verkeer. Gebruik de beheerde toegangsbeheerklasse van de invoegtoepassing voor toepassingsroutering en ondersteunde aantekeningen om te configureren hoe de controller verkeer verwerkt.
Maak de toepassingsnaamruimte genaamd
aks-storeom de voorbeeldpods uit te voeren met de opdrachtkubectl create namespace.kubectl create namespace aks-storeImplementeer de AKS-archieftoepassing met behulp van het volgende YAML-manifestbestand:
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
Met dit manifest worden implementaties order-serviceproduct-serviceen bijbehorende services gemaaktrabbitmq, en store-front geïmplementeerd. De store-front service maakt poort 80 beschikbaar, waarnaar het toegangsbeheerobject wordt gerouteerd in de volgende sectie.
Het Ingress-object maken
Wanneer u de invoegtoepassing voor toepassingsroutering inschakelt, wordt er een toegangsbeheerklasse met de naam webapprouting.kubernetes.azure.com gemaakt. Geef deze klasse op in een inkomend object om de beheerde NGINX-ingangscontroller van de invoegtoepassing te gebruiken.
Kopieer het volgende YAML-manifest naar een nieuw bestand met de naam ingress.yaml en sla het bestand op uw lokale computer op.
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: PrefixMaak de ingress-resource met behulp van de
kubectl applycommando.kubectl apply -f ingress.yaml -n aks-storeIn de volgende voorbeelduitvoer ziet u de gemaakte resource:
ingress.networking.k8s.io/store-front created
De beheerde toegangsbeheerresource controleren
U kunt verifiëren of het beheerde Ingress is gemaakt met behulp van het kubectl get ingress commando.
kubectl get ingress -n aks-store
In de volgende voorbeelduitvoer ziet u de aangemaakte managed Ingress:
NAME CLASS HOSTS ADDRESS PORTS AGE
store-front webapprouting.kubernetes.azure.com * 51.8.10.109 80 110s
U kunt controleren of het AKS-archief werkt door uw browser naar het openbare IP-adres van de ingangscontroller te wijzen. Met de volgende opdracht wordt het externe IP-adres opgehaald dat door de load balancer is toegewezen aan de service van nginx de beheerde NGINX-ingangscontroller in de app-routing-system naamruimte:
kubectl get service -n app-routing-system nginx -o jsonpath="{.status.loadBalancer.ingress[0].ip}"
De invoegtoepassing voor toepassingsroutering verwijderen
Gebruik de kubectl delete namespace opdracht om de bijbehorende naamruimte te verwijderen.
kubectl delete namespace aks-store
Gebruik de az aks approuting disable opdracht om de invoegtoepassing voor toepassingsroutering uit uw cluster te verwijderen.
az aks approuting disable --name <cluster-name> --resource-group <resource-group-name>
Opmerking
Om potentiële onderbreking van verkeer in het cluster te voorkomen wanneer u de invoegtoepassing voor toepassingsroutering uitschakelt, blijven sommige Kubernetes-resources, waaronder configMaps, geheimen en de implementatie waarop de controller wordt uitgevoerd, op het cluster aanwezig. Deze resources bevinden zich in de naamruimte van het app-routeringssysteem . U kunt deze middelen verwijderen als ze niet meer nodig zijn door de naamruimte te verwijderen met kubectl delete ns app-routing-system.
Verwante onderwerpen
- Schakel de implementatie van de gateway-API voor toepassingsroutering in om inkomend verkeer te beheren met de Kubernetes Gateway-API.
- Aangepaste configuraties voor inkomend verkeer configureren laat zien hoe u een geavanceerde configuratie voor inkomend verkeer maakt. Configureer een aangepast domein met behulp van Azure DNS voor het beheren van DNS-zones en het instellen van een beveiligd inkomend verkeer.
- Als u wilt integreren met een interne load balancer van Azure en een privé-Azure DNS-zone wilt configureren om DNS-resolutie voor de privé-eindpunten in te schakelen voor het omzetten van specifieke domeinen, Raadpleegt u Interne NGINX-ingangscontroller configureren voor Azure-privé-DNS-zone.
- Meer informatie over het bewaken van de metrische gegevens voor inkomend-nginx-controller die zijn opgenomen in de invoegtoepassing voor toepassingsroutering met Prometheus in Grafana (preview) als onderdeel van het analyseren van de prestaties en het gebruik van uw toepassing.