Delen via


Ingress in Azure Kubernetes Service (AKS)

Inkomend verkeer in AKS is een Kubernetes-resource die externe HTTP-achtige verkeerstoegang tot services binnen een cluster reguleert. Een AKS-ingress kan services bieden, zoals load balancing, SSL-beëindiging en naamgebaseerde virtuele hosting. Zie de Kubernetes Ingress-documentatie voor meer informatie.

Toegangsbeheerobjectcontrollers

Wanneer u toepassingsverkeer beheert, bieden Ingress-controllers geavanceerde mogelijkheden door op laag 7 te werken. Ze kunnen HTTP-verkeer routeren naar verschillende toepassingen op basis van de binnenkomende URL, waardoor er intelligentere en flexibele regels voor verkeerdistributie mogelijk zijn. Een ingangscontroller kan bijvoorbeeld verkeer naar verschillende microservices leiden, afhankelijk van het URL-pad, waardoor de efficiëntie en organisatie van uw services worden verbeterd.

Aan de andere kant stelt een LoadBalancer-service, wanneer deze is gemaakt, een onderliggende Azure Load Balancer-resource in. Deze load balancer werkt op laag 4 en distribueert verkeer naar de pods in uw service op een opgegeven poort. Laag 4-services zijn echter niet op de hoogte van de werkelijke toepassingen en kunnen deze typen complexe routeringsregels niet implementeren.

Inzicht in het onderscheid tussen deze twee benaderingen helpt bij het selecteren van het juiste hulpprogramma voor uw verkeersbeheerbehoeften.

Diagram van inkomend verkeer in een AKS-cluster

Opties voor toegangsverkeer vergelijken

De volgende tabel bevat de verschillen in functionaliteit tussen de opties voor ingresscontrollers.

Kenmerk Invoegtoepassing voor toepassingsroutering Application Gateway voor containers Azure Service Mesh/service mesh op basis van Istio
Toegangs-/gatewaycontroller NGINX-ingangscontroller Azure Application Gateway voor containers Istio-ingangsgateway
API Ingress-API Ingress API en Gateway API Istio Ingress-API
Hostingdiensten Binnen de cluster Azure gehost In clusteromgeving
Opschalen Automatisch schalen Automatisch schalen Automatisch schalen
Taakverdeling Intern/extern Extern Intern/extern
SSL-beëindiging In-cluster Ja: Offloading en E2E SSL In-cluster omgeving
mTLS N.v.t. Ja: front-end en back-end N.v.t.
Statisch IP-adres N.v.t. volledig gekwalificeerde domeinnaam (FQDN) N.v.t.
Opgeslagen SSL-certificaten in Azure Key Vault Ja Ja N.v.t.
Azure DNS-integratie voor DNS-zonebeheer Ja Ja N.v.t.

De volgende tabel bevat de verschillende scenario's waarin u elke ingangscontroller kunt gebruiken:

Toegangsoptie Wanneer gebruiken
NGINX Managed - bijvoeging voor toepassingsroutering • In-cluster gehoste, aanpasbare en schaalbare NGINX-ingangscontrollers.
• Basismogelijkheden voor taakverdeling en routering.
• Interne en externe belastingsverdelerconfiguratie.
• Configuratie van statisch IP-adres.
• Integratie met Azure Key Vault voor certificaatbeheer.
• Integratie met Azure DNS-zones voor openbaar en privé-DNS-beheer.
• Ondersteunt de Ingress API.
Application Gateway voor containers • In Azure gehoste ingress-gateway.
• Flexibele implementatiestrategieën die worden beheerd door de controller of breng je eigen Application Gateway voor Containers.
• Geavanceerde functies voor verkeersbeheer, zoals automatische nieuwe pogingen, resilientie van beschikbaarheidszones, wederzijdse authenticatie (mTLS) naar back-enddoelwit, verkeer splitsen/gewogen round robin en automatisch schalen.
• Integratie met Azure Key Vault voor certificaatbeheer.
• Integratie met Azure DNS-zones voor openbaar en privé-DNS-beheer.
• Ondersteunt de ingangs- en gateway-API's.
Istio-ingangsgateway • Gebaseerd op Envoy, wanneer gebruikt met Istio voor een service-mesh.
• Geavanceerde functies voor verkeersbeheer, zoals snelheidsbeperking en circuitonderbreking.
• Ondersteuning voor mTLS

Notitie

Gateway-API voor Inkomend Verkeer van Istio wordt nog niet ondersteund voor de Istio-invoegtoepassing, maar is momenteel in actieve ontwikkeling.

Een Ingress-resource maken

De invoegtoepassing voor toepassingsroutering is de aanbevolen manier om een ingangscontroller in AKS te configureren. De invoegtoepassing voor toepassingsroutering is een volledig beheerde ingangscontroller voor Azure Kubernetes Service (AKS) die de volgende functies biedt:

  • Eenvoudige configuratie van beheerde NGINX Ingress-controllers op basis van Kubernetes NGINX Ingress-controller.

  • Integratie met Azure DNS voor beheer van openbare en privézones.

  • SSL-beëindiging met certificaten die zijn opgeslagen in Azure Key Vault.

Zie Beheerde NGINX-ingangen met de invoegtoepassing voor toepassingsroutering voor meer informatie over de invoegtoepassing voor toepassingsroutering.

IP-behoud van clientbron

Configureer uw ingangscontroller om het IP-adres van de clientbron te behouden voor aanvragen voor containers in uw AKS-cluster. Wanneer de ingangscontroller de aanvraag van een client doorstuurt naar een container in uw AKS-cluster, is het oorspronkelijke bron-IP-adres van die aanvraag niet beschikbaar voor de doelcontainer. Wanneer u behoud van clientbron-IP inschakelt , is het bron-IP-adres voor de client beschikbaar in de aanvraagheader onder X-Forwarded-For.

Als u cliëntbron-IP-preservatie op uw ingresscontroller gebruikt, kunt u GEEN TLS-passthrough gebruiken. Het behoud van clientbron-IP en TLS-doorgifte kunnen worden gebruikt met andere services, zoals het type LoadBalancer.

Zie Hoe het behoud van IP-adressen van clientbronnen werkt voor LoadBalancer Services in AKS voor meer informatie over het behoud van IP-adressen van clientbronnen.