Inkomend verkeer in Azure Kubernetes Service (AKS)
Inkomend verkeer in AKS is een Kubernetes-resource die externe HTTP-achtige verkeertoegang tot services binnen een cluster beheert. Een AKS-toegangsbeheerobject kan services bieden, zoals taakverdeling, SSL-beëindiging en op naam gebaseerde virtuele hosting. Zie de kubernetes-documentatie voor inkomend verkeer voor Kubernetes voor meer informatie over Kubernetes-inkomend verkeer.
Toegangsbeheerobjectcontrollers
Wanneer u toepassingsverkeer beheert, bieden toegangsbeheerobjectcontrollers 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.
Opties voor inkomend verkeer vergelijken
De volgende tabel bevat de functieverschillen tussen de verschillende opties voor toegangsbeheerobjectcontroller:
Functie | Invoegtoepassing voor toepassingsroutering | Application Gateway voor containers | Azure Service Mesh/service mesh op basis van Istio |
---|---|---|---|
Ingangs-/gatewaycontroller | NGINX-ingangscontroller | Azure-toepassing Gateway voor containers | Istio-ingangsgateway |
API | Toegangsbeheerobject-API | Toegangsbeheerobject-API en gateway-API | Istio Ingress-API |
Hosting | In-cluster | Azure gehost | In-cluster |
Schalen | Automatisch schalen | Automatisch schalen | Automatisch schalen |
Load balancing | Intern/extern | External | Intern/extern |
SSL-beëindiging | In-cluster | Ja: Offloading en E2E SSL | In-cluster |
mTLS | N.v.t. | Ja naar back-end | N.v.t. |
Statisch IP-adres | N.v.t. | 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:
Optie Inkomend verkeer | Wanneer gebruiken |
---|---|
Beheerde NGINX - invoegtoepassing voor toepassingsroutering | • In-cluster gehoste, aanpasbare en schaalbare NGINX-ingangscontrollers. • Basismogelijkheden voor taakverdeling en routering. • Interne en externe load balancer-configuratie. • 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 toegangsbeheerobject-API. |
Application Gateway voor containers | • Door Azure gehoste toegangsbeheergateway. • Flexibele implementatiestrategieën die worden beheerd door de controller of bring your own Application Gateway for Containers. • Geavanceerde functies voor verkeersbeheer, zoals automatische nieuwe pogingen, tolerantie van beschikbaarheidszones, wederzijdse verificatie (mTLS) naar back-enddoel, 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 | • Op basis van Envoy, bij gebruik 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 toegangsbeheerobjectresource 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-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 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 het IP-adres van de clientbron op uw ingangscontroller gebruikt, kunt u GEEN TLS-passthrough gebruiken. Ip-behoud van clientbronnen en TLS-passthrough 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.
Azure Kubernetes Service