Usługa AKS włączona przez wymagania sieciowe usługi Azure Arc

Dotyczy: Azure Stack HCI, wersja 23H2

W tym artykule przedstawiono podstawowe pojęcia dotyczące sieci maszyn wirtualnych i aplikacji w usłudze AKS włączone przez usługę Azure Arc. W tym artykule opisano również wymagania wstępne dotyczące sieci wymagane do tworzenia klastrów Kubernetes. Zalecamy pracę z administratorem sieci w celu zapewnienia i skonfigurowania parametrów sieci wymaganych do wdrożenia usługi AKS włączonej przez usługę Arc.

W tym artykule koncepcyjnym przedstawiono następujące kluczowe składniki. Te składniki wymagają statycznego adresu IP w celu utworzenia i pomyślnego działania klastra usługi AKS Arc i aplikacji:

  • Maszyny wirtualne klastra usługi AKS
  • Adres IP płaszczyzny sterowania usługi AKS
  • Moduł równoważenia obciążenia dla konteneryzowanych aplikacji

Sieć dla maszyn wirtualnych klastra usługi AKS

Węzły Kubernetes są wdrażane jako wyspecjalizowane maszyny wirtualne w usłudze AKS włączone przez usługę Arc. Te maszyny wirtualne są przydzielane adresom IP w celu umożliwienia komunikacji między węzłami kubernetes. Usługa AKS Arc używa sieci logicznych usługi Azure Stack HCI do dostarczania adresów IP i sieci dla bazowych maszyn wirtualnych klastrów Kubernetes. Aby uzyskać więcej informacji na temat sieci logicznych, zobacz Sieci logiczne dla usługi Azure Stack HCI. Należy zaplanować rezerwę jednego adresu IP na maszynę wirtualną węzła klastra usługi AKS w środowisku azure Stack HCI.

Uwaga

Statyczny adres IP jest jedynym obsługiwanym trybem przypisywania adresu IP do maszyn wirtualnych usługi AKS Arc. Dzieje się tak, ponieważ platforma Kubernetes wymaga, aby adres IP przypisany do węzła Kubernetes był stały w całym cyklu życia klastra Kubernetes.

Aby użyć sieci logicznej dla operacji tworzenia klastra usługi AKS Arc, wymagane są następujące parametry:

Parametr sieci logicznej Opis Wymagany parametr dla klastra usługi AKS Arc
--address-prefixes AddressPrefix dla sieci. Obecnie obsługiwany jest tylko 1 prefiks adresu. Użycie: --address-prefixes "10.220.32.16/24". Obsługiwane
--dns-servers Rozdzielona spacjami lista adresów IP serwera DNS. Użycie: --dns-servers 10.220.32.16 10.220.32.17. Obsługiwane
--gateway Bramy. Adres IP bramy musi należeć do zakresu prefiksu adresu. Użycie: --gateway 10.220.32.16. Obsługiwane
--ip-allocation-method Metoda alokacji adresu IP. Obsługiwane wartości to "Static". Użycie: --ip-allocation-method "Static". Obsługiwane
--ip-pool-start Początkowy adres IP puli adresów IP. Adres musi być w zakresie prefiksu adresu. Użycie: --ip-pool-start "10.220.32.18". Obsługiwane
--ip-pool-end Końcowy adres IP puli adresów IP. Adres musi być w zakresie prefiksu adresu. Użycie: --ip-pool-end "10.220.32.38". Obsługiwane
--vm-switch-name Nazwa przełącznika maszyny wirtualnej. Użycie: --vm-switch-name "vm-switch-01". Obsługiwane

Adres IP płaszczyzny sterowania

Platforma Kubernetes używa płaszczyzny sterowania, aby upewnić się, że każdy składnik w klastrze Kubernetes jest przechowywany w żądanym stanie. Płaszczyzna sterowania zarządza również węzłami procesu roboczego, które przechowują konteneryzowane aplikacje. Usługa AKS włączona przez usługę Arc wdraża moduł równoważenia obciążenia KubeVIP, aby upewnić się, że adres IP serwera interfejsu API płaszczyzny sterowania Kubernetes jest dostępny przez cały czas. To wystąpienie KubeVIP wymaga poprawnego działania pojedynczego niezmiennego "adresu IP płaszczyzny sterowania".

Uwaga

Adres IP płaszczyzny sterowania jest wymaganym parametrem do utworzenia klastra Kubernetes. Należy upewnić się, że adres IP płaszczyzny sterowania klastra Kubernetes nie nakłada się na inne elementy, w tym sieci logiczne maszyny wirtualnej arc, adresy IP sieci infrastruktury, moduły równoważenia obciążenia itp. Adres IP płaszczyzny sterowania musi również znajdować się w zakresie prefiksu adresu sieci logicznej, ale poza pulą adresów IP. Dzieje się tak, ponieważ pula adresów IP jest używana tylko dla maszyn wirtualnych, a jeśli wybierzesz adres IP z puli adresów IP dla płaszczyzny sterowania, może to spowodować konflikt adresów IP. Nakładające się adresy IP mogą prowadzić do nieoczekiwanych awarii klastra usługi AKS i dowolnego innego miejsca, w jakim jest używany adres IP. W środowisku należy zarezerwować jeden adres IP dla klastra Kubernetes.

Adresy IP modułu równoważenia obciążenia dla aplikacji konteneryzowanych

Głównym celem modułu równoważenia obciążenia jest dystrybucja ruchu między wieloma węzłami w klastrze Kubernetes. To równoważenie obciążenia może pomóc zapobiec przestojom i poprawić ogólną wydajność aplikacji. Usługa AKS obsługuje następujące opcje wdrażania modułu równoważenia obciążenia dla klastra Kubernetes:

Niezależnie od tego, czy wybierasz rozszerzenie MetalLB Arc, czy używasz własnego modułu równoważenia obciążenia, musisz podać zestaw adresów IP do usługi modułu równoważenia obciążenia. Do wyboru są następujące opcje:

  • Podaj adresy IP usług z tej samej podsieci co maszyny wirtualne usługi AKS Arc.
  • Użyj innej sieci i listy adresów IP, jeśli aplikacja wymaga zewnętrznego równoważenia obciążenia.

Niezależnie od wybranej opcji należy upewnić się, że adresy IP przydzielone do modułu równoważenia obciążenia nie powodują konfliktu z adresami IP w sieci logicznej ani adresami IP płaszczyzny sterowania dla klastrów Kubernetes. Powodujące konflikty adresy IP mogą prowadzić do nieprzewidzianych awarii we wdrożeniu i aplikacjach usługi AKS.

Proste planowanie adresów IP dla klastrów i aplikacji Kubernetes

W poniższym scenariuszu opisano rezerwowanie adresów IP z jednej sieci dla klastrów i usług Kubernetes. Jest to najprostszy i najprostszy scenariusz przypisywania adresów IP.

Wymaganie dotyczące adresu IP Minimalna liczba adresów IP Jak i gdzie dokonać tej rezerwacji
Adresy IP maszyn wirtualnych usługi AKS Arc Rezerwuj jeden adres IP dla każdego węzła procesu roboczego w klastrze Kubernetes. Jeśli na przykład chcesz utworzyć 3 pule węzłów z 3 węzłami w każdej puli węzłów, musisz mieć 9 adresów IP w puli adresów IP. Rezerwuj adresy IP dla maszyn wirtualnych usługi AKS Arc za pośrednictwem pul adresów IP w sieci logicznej maszyny wirtualnej usługi Arc.
Adresy IP uaktualnienia wersji usługi AKS Arc K8s Ponieważ usługa AKS Arc wykonuje uaktualnienia stopniowe, rezerwuj jeden adres IP dla każdego klastra usługi AKS Arc dla operacji uaktualniania wersji platformy Kubernetes. Rezerwuj adresy IP dla operacji uaktualniania wersji K8s za pośrednictwem pul adresów IP w sieci logicznej maszyny wirtualnej usługi Arc.
Adres IP płaszczyzny sterowania Rezerwuj jeden adres IP dla każdego klastra Kubernetes w danym środowisku. Jeśli na przykład chcesz utworzyć 5 klastrów w sumie, zarezerwuj 5 adresów IP, po jednym dla każdego klastra Kubernetes. Rezerwuj adresy IP adresów IP płaszczyzny sterowania w tej samej podsieci co sieć logiczna maszyny wirtualnej usługi Arc, ale poza określoną pulą adresów IP.
Adresy IP modułu równoważenia obciążenia Liczba zarezerwowanych adresów IP zależy od modelu wdrażania aplikacji. Jako punkt początkowy można zarezerwować jeden adres IP dla każdej usługi Kubernetes. Rezerwuj adresy IP adresów IP płaszczyzny sterowania w tej samej podsieci co sieć logiczna maszyny wirtualnej usługi Arc, ale poza określoną pulą adresów IP.

Przykładowy przewodnik dotyczący rezerwacji adresów IP dla klastrów i aplikacji Kubernetes

Jane jest administratorem IT, który dopiero zaczyna się od usługi AKS włączonej przez usługę Azure Arc. Chce wdrożyć dwa klastry Kubernetes: klaster Kubernetes A i klaster Kubernetes B w klastrze Azure Stack HCI. Chce również uruchomić aplikację do głosowania na szczycie klastra A. Ta aplikacja ma trzy wystąpienia interfejsu użytkownika frontonu działającego w dwóch klastrach i jedno wystąpienie bazy danych zaplecza. Wszystkie jej klastry i usługi AKS działają w jednej sieci z jedną podsiecią.

  • Klaster Kubernetes A ma 3 węzły płaszczyzny sterowania i 5 węzłów roboczych.
  • Klaster Kubernetes B ma 1 węzeł płaszczyzny sterowania i 3 węzły robocze.
  • 3 wystąpienia interfejsu użytkownika frontonu (port 443).
  • 1 wystąpienie bazy danych zaplecza (port 80).

Na podstawie poprzedniej tabeli musi zarezerwować łącznie 19 adresów IP w jej podsieci:

  • 8 adresów IP maszyn wirtualnych węzła usługi A usługi A w węźle usługi A (jeden adres IP na maszynę wirtualną węzła K8s).
  • 4 adresy IP maszyn wirtualnych węzła usługi AKS Arc w klastrze B (jeden adres IP na maszynę wirtualną węzła K8s).
  • 2 adresy IP do uruchamiania operacji uaktualniania usługi AKS Arc (jeden adres IP na klaster usługi AKS Arc).
  • 2 adresy IP płaszczyzny sterowania usługi AKS Arc (jeden adres IP na klaster usługi AKS Arc)
  • 3 adresy IP usługi Kubernetes (jeden adres IP na wystąpienie interfejsu użytkownika frontonu, ponieważ wszystkie używają tego samego portu. Baza danych zaplecza może używać dowolnego z trzech adresów IP, o ile używa innego portu).

Kontynuując ten przykład i dodając go do poniższej tabeli, uzyskasz następujące informacje:

Parametr Liczba adresów IP Jak i gdzie dokonać tej rezerwacji
Uaktualnianie wersji maszyn wirtualnych usługi AKS Arc i K8s Rezerwuj 14 adresów IP Utwórz tę rezerwację za pośrednictwem pul adresów IP w sieci logicznej usługi Azure Stack HCI.
Adres IP płaszczyzny sterowania Rezerwuj 2 adresy IP, jeden dla klastra usługi AKS Arc Użyj parametru , controlPlaneIP aby przekazać adres IP dla adresu IP płaszczyzny sterowania. Upewnij się, że ten adres IP znajduje się w tej samej podsieci co sieć logiczna arc, ale poza pulą adresów IP zdefiniowaną w sieci logicznej usługi Arc.
Adresy IP modułu równoważenia obciążenia 3 adres IP dla usług Kubernetes, dla aplikacji do głosowania Jane. Te adresy IP są używane podczas instalowania modułu równoważenia obciążenia w klastrze A. Możesz użyć rozszerzenia MetalLB Arc lub przenieść własny moduł równoważenia obciążenia innej firmy. Upewnij się, że ten adres IP znajduje się w tej samej podsieci co sieć logiczna usługi Arc, ale poza pulą adresów IP zdefiniowaną w sieci logicznej maszyny wirtualnej arc.

Ustawienia serwera proxy

Ustawienia serwera proxy w usłudze AKS są dziedziczone z bazowego systemu infrastruktury. Funkcja ustawiania poszczególnych ustawień serwera proxy dla klastrów Kubernetes i zmiany ustawień serwera proxy nie jest jeszcze obsługiwana.

Wymagania dotyczące portów sieciowych & między sieciami VLAN

Podczas wdrażania rozwiązania Azure Stack HCI przydzielasz ciągły blok co najmniej sześciu statycznych adresów IP w podsieci sieci zarządzania, pomijając adresy już używane przez serwery fizyczne. Te adresy IP są używane przez usługę Azure Stack HCI i infrastrukturę wewnętrzną (mostek zasobów arc) na potrzeby zarządzania maszynami wirtualnymi usługi Arc i usługi AKS Arc. Jeśli sieć zarządzania, która udostępnia adresy IP do usług Azure Stack HCI związanych z mostkiem zasobów usługi Arc, znajdują się w innej sieci VLAN niż sieć logiczna używana do tworzenia klastrów usługi AKS, należy upewnić się, że następujące porty są otwarte, aby pomyślnie utworzyć i obsługiwać klaster usługi AKS.

Port docelowy Element docelowy Źródło Opis Uwagi dotyczące sieci między sieciami VLAN
22 Sieć logiczna używana dla maszyn wirtualnych usługi AKS Arc Adresy IP w sieci zarządzania Wymagane do zbierania dzienników na potrzeby rozwiązywania problemów. Jeśli używasz oddzielnych sieci VLAN, adresy IP w sieci zarządzania używanej dla usług Azure Stack HCI i Arc Resource Bridge muszą uzyskiwać dostęp do maszyn wirtualnych klastra usługi AKS Arc na tym porcie.
6443 Sieć logiczna używana dla maszyn wirtualnych usługi AKS Arc Adresy IP w sieci zarządzania Wymagane do komunikowania się z interfejsami API platformy Kubernetes. Jeśli używasz oddzielnych sieci VLAN, adresy IP w sieci zarządzania używanej dla usług Azure Stack HCI i Arc Resource Bridge muszą uzyskiwać dostęp do maszyn wirtualnych klastra usługi AKS Arc na tym porcie.
55000 Adresy IP w sieci zarządzania Sieć logiczna używana dla maszyn wirtualnych usługi AKS Arc Serwer gRPC agenta chmury Jeśli używasz oddzielnych sieci VLAN, maszyny wirtualne usługi AKS Arc muszą uzyskiwać dostęp do adresów IP w sieci zarządzania używanej dla adresu IP agenta w chmurze i adresu IP klastra na tym porcie.
65000 Adresy IP w sieci zarządzania Sieć logiczna używana dla maszyn wirtualnych usługi AKS Arc Uwierzytelnianie gRPC agenta chmury Jeśli używasz oddzielnych sieci VLAN, maszyny wirtualne usługi AKS Arc muszą uzyskiwać dostęp do adresów IP w sieci zarządzania używanej dla adresu IP agenta w chmurze i adresu IP klastra na tym porcie.

Wyjątki adresów URL zapory

Aby uzyskać informacje na temat listy dozwolonych adresów URL zapory/serwera proxy usługi Azure Arc, zobacz wymagania dotyczące sieci mostka zasobów usługi Azure Arc i wymagania dotyczące sieci usługi Azure Stack HCI 23H2.

W przypadku wdrażania i działania klastrów Kubernetes następujące adresy URL muszą być dostępne ze wszystkich węzłów fizycznych i maszyn wirtualnych usługi AKS Arc we wdrożeniu. Upewnij się, że te adresy URL są dozwolone w konfiguracji zapory:

Adres URL Port Usługa Uwagi
https://mcr.microsoft.com 443 Rejestr kontenerów firmy Microsoft Służy do oficjalnych artefaktów firmy Microsoft, takich jak obrazy kontenerów.
https://*.his.arc.azure.com 443 Usługa tożsamości azure Arc Służy do obsługi tożsamości i kontroli dostępu.
https://*.dp.kubernetesconfiguration.azure.com 443 Kubernetes Służy do konfigurowania usługi Azure Arc.
https://*.servicebus.windows.net 443 Łączenie klastra Służy do bezpiecznego nawiązywania połączenia z klastrami Kubernetes z włączoną usługą Azure Arc bez konieczności włączania żadnego portu przychodzącego w zaporze.
https://guestnotificationservice.azure.com 443 Usługa powiadomień Służy do obsługi operacji powiadomień gościa.
https://*.dp.prod.appliances.azure.com 443 Usługa płaszczyzny danych Służy do operacji płaszczyzny danych dla mostka zasobów (urządzenia).
*.data.mcr.microsoft.com
azurearcfork8s.azurecr.io
linuxgeneva-microsoft.azurecr.io
pipelineagent.azurecr.io
ecpacr.azurecr.io
443 Pobieranie agenta Służy do pobierania obrazów i agentów.
*.prod.microsoftmetrics.com
*.prod.hot.ingestion.msftcloudes.com
dc.services.visualstudio.com
*.prod.warm.ingest.monitor.core.windows.net
gcs.prod.monitoring.core.windows.net
443 Metryki i monitorowanie kondycji Służy do monitorowania ruchu telemetrycznego i metryk.
*.blob.core.windows.net
*.dl.delivery.mp.microsoft.com
*.do.dsp.mp.microsoft.com
443 TCP Służy do pobierania obrazów mostka zasobów (urządzenia).
https://azurearcfork8sdev.azurecr.io 443 Kubernetes Służy do pobierania obrazów kontenerów usługi Azure Arc for Kubernetes.
https://adhs.events.data.microsoft.com 443 Telemetria ADHS to usługa telemetrii uruchomiona wewnątrz urządzenia/systemu operacyjnego mariner. Używane okresowo do wysyłania wymaganych danych diagnostycznych do firmy Microsoft z węzłów płaszczyzny sterowania. Używane, gdy telemetria spada z mariner, co oznacza dowolną płaszczyznę sterowania Kubernetes.
https://v20.events.data.microsoft.com 443 Telemetria Używane okresowo do wysyłania wymaganych danych diagnostycznych do firmy Microsoft z hosta systemu Windows Server.
gcr.io 443 Rejestr kontenerów Google Używane w przypadku oficjalnych artefaktów platformy Kubernetes, takich jak obrazy podstawowe kontenerów.
pypi.org 443 Pakiet języka Python Zweryfikuj wersje platformy Kubernetes i języka Python.
*.pypi.org 443 Pakiet języka Python Zweryfikuj wersje platformy Kubernetes i języka Python.
https://hybridaks.azurecr.io 443 Obraz kontenera Wymagane do uzyskania dostępu do obrazu operatora HybridAKS.
aka.ms 443 az extensions Wymagane do pobrania rozszerzeń interfejsu wiersza polecenia platformy Azure, takich jak aksarc i connectedk8s.
*.login.microsoft.com 443 Azure Wymagany do pobierania i aktualizowania tokenów usługi Azure Resource Manager.
sts.windows.net 443 Azure Arc W scenariuszu opartym na połączeniu klastra i lokalizacji niestandardowej.
hybridaksstorage.z13.web.core.windows.net 443 Azure Stack HCI Statyczna witryna internetowa AKSHCI hostowana w usłudze Azure Storage.
raw.githubusercontent.com 443 GitHub Używane w usłudze GitHub.
www.microsoft.com 80 Oficjalna witryna internetowa firmy Microsoft. Oficjalna witryna internetowa firmy Microsoft.
*.prod.do.dsp.mp.microsoft.com 443 Microsoft Update Pobieranie obrazu mostka zasobów (urządzenia).
files.pythonhosted.org 443 Pakiet języka Python Pakiet języka Python.

Następne kroki

Twórca sieci logiczne dla klastrów Kubernetes w usłudze Azure Stack HCI 23H2