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.
Platforma Kubernetes używa wtyczek interfejsu CNI (Container Networking Interface) do zarządzania siecią w klastrach Kubernetes. Wtyczki CNI obsługują przypisywanie adresów IP do zasobników, routing ruchu sieciowego między zasobnikami, routing ruchu usługi Kubernetes i nie tylko.
Azure Kubernetes Service (AKS) udostępnia wiele konfiguracji sieci CNI, których można używać w klastrach, w zależności od wymagań sieciowych. Podczas planowania sieci zasobników należy wybrać opcję zarządzania adresami IP (IPAM) oraz technologię routingu i transportu dla płaszczyzny danych sieciowych.
Modele sieciowe w usłudze AKS
Wybór opcji IPAM dla klastra usługi AKS zależy w dużej mierze od tego, który model sieci najlepiej odpowiada Twoim potrzebom. Każdy model ma własne zalety i wady, które należy wziąć pod uwagę podczas planowania klastra AKS.
Usługa AKS używa dwóch głównych modeli sieci:
Sieć nakładki:
- Oszczędza przestrzeń adresów IP dla sieci wirtualnych (VNet) dzięki zastosowaniu logicznie oddzielnych zakresów CIDR dla podów.
- Zapewnia maksymalną obsługę skalowania klastra.
- Zapewnia proste zarządzanie adresami IP.
Sieć płaska:
- Zapewnia pełną łączność z siecią VNet dla zasobników. Z podów można uzyskać bezpośredni dostęp przez ich prywatny adres IP z połączonych sieci.
- Wymaga dużej, niefragmentowanej przestrzeni adresowej IP dla sieci wirtualnych.
Oba modele sieciowe obsługują wiele opcji usługi IPAM. Główne różnice między modelami to sposób przypisywania adresów IP zasobników i sposobu opuszczania klastra.
W przypadku Azure CNI opcja IPAM jest oddzielona od płaszczyzny danych sieciowych. Możesz użyć płaszczyzny danych Azure CNI obsługiwanej przez cilium Azure z nakładką CNI, Azure podsiecią CNI lub podsiecią węzła CNI Azure CNI. Aby uzyskać więcej informacji na temat opcji ipAM i płaszczyzny danych, zobacz Planowanie sieci zasobników dla usługi AKS.
Sieci nakładkowe
Sieć nakładki w usłudze AKS przypisuje adresy IP zasobnika z oddzielnej trasy CIDR zasobnika, która różni się od podsieci węzłów w sieci wirtualnej. Ta konfiguracja umożliwia prostszą i często lepszą skalowalność niż model sieci płaskiej.
W sieciach nakładkowych zasobniki mogą komunikować się ze sobą bezpośrednio. Ruch opuszczający klaster ma źródłowy adres sieciowy przetłumaczony (SNAT) na adres IP węzła. Ruch IP przychodzący do poda jest kierowany przez usługę, taką jak równoważnik obciążenia. Adres IP poda jest następnie "ukryty" za adresem IP węzła. Takie podejście zmniejsza liczbę adresów IP wymaganych dla sieci wirtualnych w klastrach.
W przypadku sieci nakładek usługa AKS zapewnia Azure nakładki CNI. Ta opcja IPAM jest używana w większości scenariuszy.
Sieci płaskie
W przeciwieństwie do sieci nakładki model sieci płaskiej w usłudze AKS przypisuje adresy IP do zasobników z podsieci w tej samej sieci wirtualnej Azure co węzły usługi AKS. W przypadku ruchu w sieci prywatnej źródłowy adres IP, który znajduje się w miejscu docelowym, zależy od opcji IPAM. Azure podsieć CNI zachowuje adres IP zasobnika w połączonych sieciach wirtualnych. W przypadku Azure podsieci węzła CNI lokalizacje docelowe w sieci wirtualnej klastra widzą adres IP zasobnika, ale lokalizacje docelowe poza siecią wirtualną klastra widzą adres IP węzła. Po włączeniu ruchu wychodzącego z Internetu skonfigurowana metoda ruchu wychodzącego klastra określa publiczny źródłowy adres IP widoczny dla miejsc docelowych w Internecie.
Usługa AKS oferuje dwie Azure opcje CNI IPAM dla sieci płaskiej:
- Azure podsieć CNI, zalecana opcja IPAM dla scenariuszy sieci płaskiej.
- Podsieć węzłów CNI platformy Azure, starsza wersja modelu CNI dla sieci prostych. Ogólnie rzecz biorąc, zalecamy użycie jej tylko wtedy, gdy potrzebujesz zarządzanej sieci wirtualnej dla klastra.
Wybieranie opcji IPAM dla usługi AKS
Podczas wybierania opcji IPAM należy wziąć pod uwagę kilka czynników. Każdy model sieci ma własne zalety i wady. Najlepszy wybór dla klastra zależy od konkretnych wymagań.
Porównanie przypadków użycia
| Opcja IPAM | Model sieci | Wyróżnianie przypadków użycia |
|---|---|---|
| Nakładka Azure CNI | Overlay | • Najlepsze w przypadku oszczędzania adresów IP dla sieci wirtualnych • Maksymalna liczba węzłów obsługiwanych przez serwer API oraz 250 podów na węzeł • Prostsza konfiguracja • Brak bezpośredniego dostępu do zewnętrznego adresu IP poda |
| Podsieć Podów Azure CNI | Flat | • Bezpośredni zewnętrzny dostęp do poda • Tryby wydajnego użycia adresów IP dla sieci wirtualnych lub obsługi dużych klastrów (wersja zapoznawcza) |
| Kubenet (starsza wersja) | Overlay | • Przechodzi na emeryturę 31 marca 2028 r.; migrowanie do Azure nakładki CNI przed datą wycofania • Priorytetyzacja ochrony adresów IP • Ograniczona skala • Ręczne zarządzanie trasami |
| Podsieć węzła usługi Azure CNI (starsza wersja) | Flat | • Bezpośredni zewnętrzny dostęp do poda • Prostsza konfiguracja • Ograniczona skala • Nieefektywne korzystanie z adresów IP dla sieci wirtualnych |
Porównanie funkcji
| Feature | Nakładka Azure CNI | Podsieć Podów Azure CNI | Podsieć węzła usługi Azure CNI (starsza wersja) | Kubenet (starsza wersja) |
|---|---|---|---|---|
| Wdrażanie klastra w istniejącej lub nowej sieci wirtualnej | Supported | Supported | Supported | Obsługa ręcznie zdefiniowanych tras użytkownika (UDR) |
| Łączność między zasobnikiem a maszyną wirtualną (VM), gdzie VM znajduje się w tej samej sieci wirtualnej lub w sieci wirtualnej połączonej równorzędnie. | Zainicjowano Pod | Oba sposoby | Oba sposoby | Zainicjowano Pod |
| Dostęp lokalny za pośrednictwem wirtualnej sieci prywatnej (VPN) i usługi Azure ExpressRoute | Zainicjowano Pod | Oba sposoby | Oba sposoby | Zainicjowano Pod |
| Dostęp do punktów końcowych usługi | Supported | Supported | Supported | Supported |
| Narażenie usług za pośrednictwem modułu równoważenia obciążenia | Supported | Supported | Supported | Supported |
| Udostępnienie usług za pośrednictwem kontrolera wejściowego Azure Application Gateway | Supported | Supported | Supported | Supported |
| Ujawnienie usług za pośrednictwem usługi Application Gateway dla kontenerów | Supported | Supported | Supported | Nie jest obsługiwany |
| Pule węzłów systemu Windows | Supported | Supported | Supported | Niewspierane |
| Domyślna usługa Azure DNS i strefy prywatne | Supported | Supported | Supported | Supported |
| Udostępnianie podsieci sieci wirtualnej w wielu klastrach | Supported | Supported | Supported | Niewspierane |
Zakres wsparcia między modelami sieciowymi
W zależności od używanej opcji IPAM można wdrożyć zasoby sieci wirtualnej dla klastra w jeden z następujących sposobów:
- Platforma Azure może automatycznie tworzyć i konfigurować zasoby sieci wirtualnej podczas tworzenia klastra usługi AKS.
- Możesz ręcznie utworzyć i skonfigurować zasoby sieci wirtualnej oraz dołączyć je do tych zasobów podczas tworzenia klastra usługi AKS.
Mimo że obsługiwane są funkcje, takie jak punkty końcowe usługi lub trasy zdefiniowane przez użytkownika, zasady wsparcia AKS definiują, jakie zmiany można wprowadzić. Przykład:
- Jeśli ręcznie utworzysz zasoby sieci wirtualnej dla klastra usługi AKS, będziesz mieć wsparcie podczas konfigurowania własnych tras zdefiniowanych przez użytkownika (UDR) lub punktów końcowych usługi.
- Jeśli platforma Azure automatycznie tworzy zasoby sieci wirtualnej dla klastra AKS, nie można ręcznie zmienić tych zasobów zarządzanych przez AKS, aby skonfigurować własne trasy UDR lub punkty końcowe usługi.
Wymagania wstępne dotyczące sieci usługi AKS CNI
Podczas planowania konfiguracji sieci dla usługi AKS należy pamiętać o następujących wymaganiach i zagadnieniach:
Jeśli nie używasz izolowanego klastra sieciowego, sieć wirtualna klastra usługi AKS musi zezwalać na wychodzącą łączność internetową z wymaganymi punktami końcowymi. Klastry izolowane w sieci mogą być uruchamiane bez wychodzącej łączności z Internetem.
Zakresy adresów usługi AKS mają następujące ograniczenia:
Zarezerwowany zakres CIDR Odnosi się do Warunek 169.254.0.0/16Zakresy adresów usługi Kubernetes, zasobnika i klastra sieci wirtualnej Wszystkie klastry usługi AKS 192.0.2.0/24Zakresy adresów usługi Kubernetes, zasobnika i klastra sieci wirtualnej Wszystkie klastry usługi AKS 172.30.0.0/16Zakresy adresów usługi Kubernetes, zasobnika i klastra sieci wirtualnej Wszystkie klastry usługi AKS 172.31.0.0/16Zakresy adresów usługi Kubernetes, zasobnika i klastra sieci wirtualnej Wszystkie klastry usługi AKS Usługa AKS odrzuca jednostki CIDR zasobników, które nakładają się na zarezerwowany zakres podczas tworzenia lub aktualizowania klastra. Na przykład nie jest prawidłowy,
172.16.0.0/12ponieważ zakres zawiera172.30.0.0/16wartości i172.31.0.0/16.W scenariuszach, w których używasz własnej sieci wirtualnej, tożsamość klastra używana przez klaster usługi AKS musi mieć co najmniej uprawnienia Współautor sieci w podsieci w sieci wirtualnej.
Jeśli zdefiniujesz rolę niestandardową zamiast używać wbudowanej roli Współautor sieci, uwzględnij następujące uprawnienia:
Pozwolenie Jeśli jest to wymagane Microsoft.Network/virtualNetworks/subnets/join/actionZawsze w przypadku korzystania z roli niestandardowej Microsoft.Authorization/roleAssignments/writeZawsze w przypadku korzystania z roli niestandardowej Microsoft.Network/virtualNetworks/subnets/readTylko podczas definiowania własnych podsieci i ciDR Podsieć przypisana do puli węzłów usługi AKS nie może być delegowaną podsiecią .
Usługa AKS nie stosuje sieciowych grup zabezpieczeń do podsieci i nie modyfikuje żadnej sieciowej grupy zabezpieczeń skojarzonej z tą podsiecią. Jeśli podasz własną podsieć i dodasz sieciowe grupy zabezpieczeń skojarzone z tą podsiecią, musisz upewnić się, że reguły zabezpieczeń w sieciowych grupach zabezpieczeń zezwalają na ruch w zakresie CIDR węzła. W przypadku Azure nakładki CNI, jeśli reguła odmowy sieciowej grupy zabezpieczeń ma wpływ na ruch CIDR zasobnika, należy również zezwolić na ruch z węzła CIDR do zasobnika CIDR i z zasobnika CIDR we wszystkich portach i protokołach. Aby uzyskać więcej informacji, zobacz Sieciowe grupy zabezpieczeń z Azure nakładki CNI.
Container Network Service (CNS) to usługa lokalna dla węzła w ramach sieci CNI usługi Azure Kubernetes Service, która przydziela, śledzi i programuje sieć dla zasobników. Ten składnik domyślnie wysyła dane telemetryczne (metryki i dzienniki) poza klaster do punktu końcowego usługi Application Insights zarządzanego przez firmę Microsoft, aby umożliwić szybsze rozwiązywanie wszelkich problemów z przypisywaniem adresów IP sieci do zasobników.