Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Azure Load Balancer fungerar på nivå 4 i OSI-modellen (Open Systems Interconnection) som stöder både inkommande och utgående scenarier. Den distribuerar inkommande flöden som anländer till lastbalanserarens front-end till instanserna i serverdelspoolen.
En offentlig lastbalanserare som är integrerad med AKS har två syften:
- Ange utgående anslutningar till klusternoderna i det virtuella AKS-nätverket (VNet) genom att översätta den privata IP-adressen till en offentlig IP-adressdel i den utgående poolen.
- Ge åtkomst till program via Kubernetes-tjänster av typen
LoadBalancer, så att du enkelt kan skala dina program och skapa tjänster med hög tillgänglighet.
Den här artikeln beskriver integrering med en offentlig lastbalanserare på AKS. För integrering av intern lastbalanserare, se Använda en intern lastbalanserare i AKS.
Förutsättningar
- AKS stöder Standard SKU-Azure Load Balancer, som används som standard när du skapar ett AKS-kluster. Standard-SKU:n ger dig åtkomst till funktioner som en större serverdelspool, flera nodpooler, Availability Zones och är säker som standard. Basic SKU drogs tillbaka den 30 september 2025 och AKS stöder det inte längre. Om du har ett befintligt AKS-kluster som använder Basic SKU kan du läsa Uppgradera från Basic Load Balancer på AKS. Mer information om Load Balancer SKU:er finns i Azure Load Balancer SKU-jämförelse.
- En fullständig lista över anteckningar som stöds för Kubernetes-tjänster med typen
LoadBalancerfinns i LoadBalancer-anteckningar. - Den här artikeln förutsätter att du har ett AKS-kluster med Standard SKU Azure Load Balancer. Om du behöver ett AKS-kluster kan du skapa ett med hjälp av Azure CLI, Azure PowerShell eller Azure-portalen.
- Du måste
kubectlha installerat och konfigurerat för att ansluta till ditt AKS-kluster. Information om hur du installerarkubectl, laddar ned autentiseringsuppgifterna för klustret och verifierar anslutningen finns i Ansluta till klustret.
Important
Om du föredrar att använda din egen gateway, brandvägg eller proxy för att tillhandahålla utgående anslutningar kan du hoppa över att skapa lastbalanserarens utgående pool och motsvarande frontend-IP genom att använda utgående typ som UserDefinedRouting (UDR). Den utgående typen definierar den utgående metoden för ett kluster och standardinställningen är typen LoadBalancer.
Limitations
Följande begränsningar gäller när du skapar och hanterar AKS-kluster som stöder en lastbalanserare med standard-SKU :n:
AKS hanterar livscykeln och driften av agentnoder. Det går inte att ändra de IaaS-resurser som är associerade med agentnoderna. Ett exempel på en åtgärd som inte stöds är att göra manuella ändringar i resursgruppen för lastbalanseraren.
Minst en offentlig IP-adress eller IP-prefix krävs för att tillåta utgående trafik från AKS-klustret. Den offentliga IP-adressen eller IP-prefixet krävs för att upprätthålla anslutningen mellan kontrollplanet och agentnoderna, samt för att behålla kompatibiliteten med tidigare AKS-versioner. Du har följande alternativ för att ange offentliga IP-adresser eller IP-prefix med en Standard SKU-lastbalanserare:
- Ange dina egna offentliga IP-adresser.
- Ange dina egna offentliga IP-prefix.
- Ange ett tal upp till 100 så att AKS-klustret kan skapa så många offentliga IP-adresser för Standard SKU i samma resursgrupp som AKS-klustret. Den här resursgruppen namnges vanligtvis med
MC_i början. AKS tilldelar den offentliga IP-adressen till Standard SKU-lastbalanseraren. Som standard skapas en offentlig IP-adress automatiskt i samma resursgrupp som AKS-klustret om ingen offentlig IP-adress, offentligt IP-prefix eller antal IP-adresser har angetts. Du måste också tillåta offentliga adresser och låta bli att skapa Azure-principer som förbjuder skapandet av IP-adresser.
En offentlig IP-adress som skapats av AKS kan inte återanvändas som en anpassad byo-offentlig IP-adress (Bring Your Own). Du måste skapa och hantera alla anpassade IP-adresser.
Du kan inte ändra lastbalanserarens SKU genom att direkt ändra den AKS-hanterade lastbalanserarens resurs. Om du vill migrera ett befintligt AKS-kluster från den tillbakadragna Basic SKU:n till standard-SKU :n använder du aks-uppgraderingsprocessen som stöds. Migreringen orsakar stilleståndstid och kan inte återställas när den har påbörjats.
Standard SKU-lastbalanserare stöder endast Standard SKU IP-adresser.
Private Link-tjänsten stöds inte när lastbalanserarens serverdelspooltyp är inställd på
nodeIP.
Skapa en lastbalanserartjänst i AKS
När du har skapat ett AKS-kluster med utgående typ LoadBalancer (standard) är klustret redo att använda lastbalanseraren för att exponera tjänster.
Kontrollera att klustret har minst en podd som körs och är redo med etiketten
app: public-app. Tjänstmanifestet i nästa steg väljer poddar med den här etiketten men skapar ingen distribution.kubectl get pods -l app=public-appSkapa ett tjänstmanifest med namnet
public-svc.yaml, som skapar en offentlig tjänst av typenLoadBalancer.apiVersion: v1 kind: Service metadata: name: public-svc spec: type: LoadBalancer ports: - port: 80 selector: app: public-app
Ange lastbalanserarens IP-adress
Om du vill använda en specifik IP-adress med lastbalanseraren har du två alternativ för att ange IP-adressen:
-
Ange tjänstanteckningar (rekommenderas): Använd
service.beta.kubernetes.io/azure-pip-nameför att ange en befintlig offentlig IP-resurs efter namn. Den här annoteringen är det effektivaste alternativet och hjälper dig att undvika eventuella strypningar. Du kan också användaservice.beta.kubernetes.io/azure-load-balancer-ipv4för en IPv4-adress ochservice.beta.kubernetes.io/azure-load-balancer-ipv6för en IPv6-adress. Offentliga IP-resurser, resursgrupper och identitetskrav finns i Använda en statisk offentlig IP-adress med AKS-lastbalanseraren. -
Lägg till egenskapen LoadBalancerIP i YAML-manifestet för lastbalanseraren: Lägg till
Service.Spec.LoadBalancerIPegenskapen i YAML-manifestet för lastbalanseraren. Det här fältet är föråldrat i linje med upstream Kubernetes, och det stöder inte dual-stack. Den aktuella användningen är densamma och befintliga tjänster förväntas fungera utan ändringar.
Distribuera lastbalanserarens tjänstmanifest
Distribuera manifestet för den offentliga tjänsten med hjälp
kubectl applyav och ange namnet på ditt YAML-manifest.kubectl apply -f public-svc.yamlAzure Load Balancer har konfigurerats med en ny offentlig IP-adress som frontar den nya tjänsten. Eftersom Azure Load Balancer kan ha flera klientdels-IP-adresser får varje ny tjänst som du distribuerar en ny dedikerad klientdels-IP som ska användas unikt.
Bekräfta att tjänsten har skapats och att lastbalanseraren har konfigurerats med hjälp
kubectl get serviceav kommandot .kubectl get service public-svcNär du visar tjänstinformationen visas den offentliga IP-adressen som skapats för den här tjänsten i lastbalanseraren i kolumnen EXTERNAL-IP i utdata. Det kan ta några minuter innan IP-adressen ändras från <väntande> till en faktisk offentlig IP-adress. Följande exempelutdata visar hur tjänsten har skapats:
NAMESPACE NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE default public-svc LoadBalancer 10.0.39.110 203.0.113.187 80:32068/TCP 52sFå mer detaljerad information om din tjänst med hjälp
kubectl describe serviceav kommandot .kubectl describe service public-svcFöljande exempelutdata är en komprimerad version av utdata när du har kört
kubectl describe service. LoadBalancer Ingress visar den externa IP-adressen som exponeras av din tjänst. IP visar de interna adresserna.Name: public-svc Namespace: default Labels: <none> Annotations: <none> Selector: app=public-app ... IP: 10.0.39.110 ... LoadBalancer Ingress: 203.0.113.187 ... TargetPort: 80/TCP NodePort: 32068/TCP ... Session Affinity: None External Traffic Policy: Cluster ...