Anpassa utgående kluster med en användardefinierad routningstabell i Azure Kubernetes Service (AKS)

Du kan anpassa utgående för dina Azure Kubernetes Service-kluster (AKS) så att de passar specifika scenarier. AKS etablerar en Standard SKU-lastbalanserare för utgående trafik som standard. Standardkonfigurationen kanske dock inte uppfyller kraven i alla scenarier om offentliga IP-adresser inte tillåts eller om scenariot kräver extra hopp för utgående trafik.

Den här artikeln beskriver hur du anpassar ett klusters utgående väg för att stödja anpassade nätverksscenarier. Dessa scenarier omfattar sådana som inte tillåter offentliga IP-adresser och kräver att klustret sitter bakom en virtuell nätverksinstallation (NVA).

Förutsättningar

  • Azure CLI version 2.0.81 eller senare. Kör az --version för att hitta versionen. Om du behöver installera eller uppgradera kan du läsa Installera Azure CLI.
  • API-version 2020-01-01 eller senare.

Krav och begränsningar

Användning av utgående typ är ett avancerat nätverksscenario och kräver korrekt nätverkskonfiguration. Följande krav och begränsningar gäller för användning av utgående typ:

  • Inställningen outboundType kräver AKS-kluster med en vm-set-type av VirtualMachineScaleSets och en load-balancer-sku av Standard.
  • Om du anger outboundType värdet UDR för krävs en användardefinierad väg med giltig utgående anslutning för klustret.
  • Om du anger outboundType värdet UDR för innebär det att ingresskällans IP-adress som dirigeras till lastbalanseraren kanske inte matchar klustrets utgående utgående måladress.

Översikt över anpassning av utgående trafik med en användardefinierad routningstabell

AKS konfigurerar inte automatiskt utgående sökvägar om userDefinedRouting har angetts, vilket innebär att du måste konfigurera utgående trafik.

När du inte använder standardarkitekturen för lastbalanserare (SLB) måste du upprätta explicit utgående trafik. Du måste distribuera AKS-klustret till ett befintligt virtuellt nätverk med ett undernät som har konfigurerats tidigare. Den här arkitekturen kräver att utgående trafik uttryckligen skickas till en installation, till exempel en brandvägg, gateway eller proxy, så att en offentlig IP-adress som tilldelats standardlastbalanseraren eller installationen kan hantera NAT (Network Address Translation).

Skapande av lastbalanserare med userDefinedRouting

AKS-kluster med en utgående typ av UDR får bara en standardlastbalanserare när den första Kubernetes-tjänsten av typen loadBalancer distribueras. Lastbalanseraren konfigureras med en offentlig IP-adress för inkommande begäranden och en serverdelspool för inkommande begäranden . Azure-molnleverantören konfigurerar inkommande regler, men den konfigurerar inte utgående offentliga IP-adresser eller utgående regler. Din UDR är den enda källan för utgående trafik.

Anteckning

Azure-lastbalanserare debiteras inte förrän en regel har placerats.

Distribuera ett kluster med utgående typ av UDR och Azure Firewall

Om du vill se ett program för ett kluster med utgående typ med hjälp av en användardefinierad väg läser du det här exemplet på att begränsa utgående trafik med Azure-brandväggen.

Viktigt

Utgående typ av UDR kräver en väg för 0.0.0.0/0 och ett nästa hoppmål för NVA i routningstabellen. Routningstabellen har redan standardvärdet 0.0.0.0/0 till Internet. Utan en offentlig IP-adress som Azure kan använda för SNAT (Source Network Address Translation) kommer du inte att få utgående Internetanslutning genom att bara lägga till den här vägen. AKS verifierar att du inte skapar en 0.0.0.0/0-väg som pekar på Internet utan i stället till en gateway, NVA osv. När du använder en utgående typ av UDR skapas inte en offentlig IP-adress för lastbalanserare för inkommande begäranden om du inte konfigurerar en tjänst av typen loadbalancer. AKS skapar aldrig en offentlig IP-adress för utgående begäranden om du anger en utgående typ av UDR.

Nästa steg

Mer information om användardefinierade vägar och Azure-nätverk finns i: