Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Azure Load Balancer działa na 4. warstwie modelu wzajemnych połączeń systemów otwartych (OSI) i obsługuje zarówno scenariusze ruchu przychodzącego, jak i wychodzącego. Rozdziela przepływy przychodzące, które docierają do front-endu modułu równoważenia obciążenia, do instancji puli zaplecza.
Publiczny moduł równoważenia obciążenia zintegrowany z usługą AKS służy dwóm celom:
- Podaj połączenia wychodzące do węzłów klastra wewnątrz sieci wirtualnej AKS, tłumacząc prywatny adres IP na publiczny adres IP z jego puli wychodzącej.
- Zapewnianie dostępu do aplikacji za pośrednictwem usług typu
LoadBalancerKubernetes, co umożliwia łatwe skalowanie aplikacji i tworzenie usług o wysokiej dostępności.
W tym artykule opisano integrację z publicznym modułem równoważenia obciążenia w usłudze AKS. Aby uzyskać informacje na temat integracji wewnętrznego modułu równoważenia obciążenia, zobacz Używanie wewnętrznego modułu równoważenia obciążenia w usłudze AKS.
Wymagania wstępne
- Usługa AKS obsługuje moduł równoważenia obciążenia Azure Load Balancer w warstwie Standard, który jest używany domyślnie podczas tworzenia klastra AKS. Jednostka SKU Standard zapewnia dostęp do funkcjonalności, takich jak większa pula zaplecza, wiele pul węzłów, strefy dostępności, i jest domyślnie zabezpieczona. Jednostka SKU Basic została wycofana 30 września 2025 r. i AKS już jej nie obsługuje. Jeśli masz istniejący klaster AKS, który używa jednostki SKU Basic, zobacz Uaktualnianie z usługi Basic Load Balancer w usłudze AKS. Aby uzyskać więcej informacji na temat jednostek SKU Load Balancer, zobacz porównanie jednostek SKU Azure Load Balancer.
- Aby uzyskać pełną listę obsługiwanych adnotacji dla usług Kubernetes z typem
LoadBalancer, zobacz Adnotacje modułu LoadBalancer. - W tym artykule założono, że masz klaster AKS z usługą Azure Load Balancer w jednostce SKU Standard. Jeśli potrzebujesz klastra usługi AKS, możesz go utworzyć przy użyciu interfejsu wiersza polecenia platformy Azure, programu Azure PowerShell lub witryny Azure Portal.
- Aby połączyć się z klastrem AKS, musisz mieć zainstalowane i skonfigurowane
kubectl. Aby zainstalowaćkubectl, pobrać poświadczenia klastra i zweryfikować połączenie, zobacz Łączenie z klastrem.
Important
Jeśli wolisz używać własnej bramy, zapory lub serwera proxy do obsługi połączeń wychodzących, możesz pominąć tworzenie puli ruchu wychodzącego load balancera i odpowiedniego adresu IP frontendu, ustawiając typ ruchu wychodzącego na UserDefinedRouting (UDR). Typ ruchu wychodzącego definiuje metodę ruchu wychodzącego dla klastra i domyślnie określa typ LoadBalancer.
Limitations
Poniższe ograniczenia mają zastosowanie podczas tworzenia klastrów AKS i zarządzania nimi, jeśli obsługują one moduł równoważenia obciążenia ze standardową jednostką SKU Standard:
AKS zarządza cyklem życia i obsługą węzłów agenta. Modyfikowanie zasobów IaaS skojarzonych z węzłami agenta nie jest obsługiwane. Przykładem nieobsługiwanej operacji jest ręczne wprowadzanie zmian w grupie zasobów modułu równoważenia obciążenia.
Do zezwalania na ruch wychodzący z klastra usługi AKS wymagany jest co najmniej jeden publiczny adres IP lub prefiks adresu IP. Publiczny adres IP lub prefiks IP jest wymagany do utrzymania łączności między płaszczyzną sterowania a węzłami agenta oraz utrzymania zgodności z poprzednimi wersjami usługi AKS. Dostępne są następujące opcje określania publicznych adresów IP lub prefiksów adresów IP z użyciem modułu równoważenia obciążenia z warstwy SKU Standard.
- Podaj własne publiczne adresy IP.
- Podaj własne prefiksy publicznego adresu IP.
- Określ liczbę nie większą niż 100, aby umożliwić klastrowi AKS utworzenie tylu publicznych adresów IP jednostki SKU Standard w tej samej grupie zasobów co klaster AKS. Ta grupa zasobów zwykle ma nazwę zaczynającą się od
MC_. Usługa AKS przypisuje publiczny adres IP do modułu równoważenia obciążenia w jednostce SKU Standard. Domyślnie jeden publiczny adres IP jest automatycznie tworzony w tej samej grupie zasobów co klaster usługi AKS, jeśli nie określono publicznego adresu IP, prefiksu publicznego adresu IP lub liczby adresów IP. Należy również zezwolić na publiczne adresy i uniknąć tworzenia zasad platformy Azure, które zakazują tworzenia adresów IP.
Publicznego adresu IP utworzonego przez usługę AKS nie można użyć ponownie jako niestandardowego publicznego adresu IP bring your own (BYO). Musisz utworzyć wszystkie niestandardowe adresy IP i zarządzać nimi.
Nie można zmienić jednostki SKU modułu równoważenia obciążenia, modyfikując bezpośrednio zasób modułu równoważenia obciążenia zarządzanego przez usługę AKS. Aby przeprowadzić migrację istniejącego klastra AKS z wycofanej jednostki SKU Basic do jednostki SKU Standard, użyj obsługiwanego procesu uaktualniania AKS. Migracja powoduje przestój i nie można go wycofać po rozpoczęciu.
Moduły równoważenia obciążenia jednostki SKU w warstwie Standardowa obsługują tylko adresy IP jednostek SKU w warstwie Standardowa.
Usługa Private Link nie jest obsługiwana, gdy typ puli zapasowej modułu równoważenia obciążenia jest ustawiony na
nodeIP.
Utwórz usługę równoważenia obciążenia w AKS
Po utworzeniu klastra AKS z typem ruchu wychodzącego LoadBalancer (ustawienie domyślne) klaster jest gotowy do użycia modułu równoważenia obciążenia do udostępniania usług.
Sprawdź, czy klaster ma co najmniej jeden uruchomiony, gotowy zasobnik z etykietą
app: public-app. Manifest usługi w następnym kroku wybiera pody z tą etykietą, ale nie tworzy wdrożenia.kubectl get pods -l app=public-appUtwórz manifest usługi o nazwie
public-svc.yaml, który tworzy usługę publiczną typuLoadBalancer.apiVersion: v1 kind: Service metadata: name: public-svc spec: type: LoadBalancer ports: - port: 80 selector: app: public-app
Określanie adresu IP modułu równoważenia obciążenia
Jeśli chcesz użyć określonego adresu IP z modułem równoważenia obciążenia, masz dwie opcje określania adresu IP:
-
Ustaw adnotacje usługi (zalecane): użyj
service.beta.kubernetes.io/azure-pip-name, aby określić istniejący zasób publicznego adresu IP za pomocą nazwy. Ta adnotacja jest najbardziej wydajną opcją i pomaga uniknąć potencjalnego ograniczania przepustowości. Można również użyćservice.beta.kubernetes.io/azure-load-balancer-ipv4adresu IPv4 iservice.beta.kubernetes.io/azure-load-balancer-ipv6adresu IPv6. Informacje o wymaganiach dotyczących zasobu publicznego adresu IP, grupy zasobów i tożsamości można znaleźć w artykule Używanie statycznego publicznego adresu IP z modułem równoważenia obciążenia AKS. -
Dodaj właściwość LoadBalancerIP do manifestu YAML modułu równoważenia obciążenia: dodaj
Service.Spec.LoadBalancerIPwłaściwość do manifestu YAML modułu równoważenia obciążenia. To pole zostało wycofane zgodnie z upstream Kubernetes i nie obsługuje trybu dual-stack. Bieżące użycie pozostaje takie same, a istniejące usługi powinny działać bez modyfikacji.
Wdróż manifest usługi wyważacza obciążenia
Wdróż manifest usługi publicznej przy użyciu polecenia
kubectl applyi określ nazwę manifestu YAML.kubectl apply -f public-svc.yamlUsługa Azure Load Balancer jest skonfigurowana przy użyciu nowego publicznego adresu IP, który jest frontonem nowej usługi. Ponieważ usługa Azure Load Balancer może mieć wiele adresów IP frontonu, każda nowa wdrażana usługa uzyskuje unikatowy dostęp do nowego dedykowanego adresu IP frontonu.
Upewnij się, że usługa została utworzona, a moduł równoważenia obciążenia został skonfigurowany przy użyciu
kubectl get servicepolecenia .kubectl get service public-svcPodczas wyświetlania szczegółów usługi publiczny adres IP utworzony dla tej usługi w module równoważenia obciążenia jest wyświetlany w kolumnie EXTERNAL-IP danych wyjściowych. Zmiana adresu IP z <oczekiwania> na rzeczywisty publiczny adres IP może potrwać kilka minut. Następujące przykładowe dane wyjściowe pokazują pomyślne utworzenie usługi:
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 52sUzyskaj bardziej szczegółowe informacje na temat usługi, używając polecenia
kubectl describe service.kubectl describe service public-svcPoniższe przykładowe dane wyjściowe to skrócona wersja danych wyjściowych po uruchomieniu polecenia
kubectl describe service. LoadBalancer Ingress pokazuje zewnętrzny adres IP udostępniany przez usługę. Adres IP pokazuje adresy wewnętrzne.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 ...