Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Klaster usługi Azure Kubernetes Service (AKS) skonfigurowany z integracją serwera API z siecią VNet projektuje punkt końcowy serwera API bezpośrednio do delegowanej podsieci w sieci VNet, w której AKS jest wdrożony. Integracja sieci VNet z serwerem API umożliwia komunikację sieciową między serwerem API a węzłami klastra bez konieczności stosowania łącza prywatnego lub tunelu. Serwer interfejsu API jest dostępny za wewnętrznym adresem VIP modułu równoważenia obciążenia w delegowanej podsieci, z której węzły są skonfigurowane do korzystania. Korzystając z integracji API Server VNet, można zapewnić, że ruch sieciowy między serwerem API a pulami węzłów pozostaje tylko w sieci prywatnej.
Łączność z serwerem interfejsu API
Płaszczyzna sterowania lub serwer interfejsu API znajduje się w subskrypcji platformy Azure zarządzanej przez usługę AKS. Klaster lub pula węzłów znajduje się w subskrypcji platformy Azure. Serwer i maszyny wirtualne tworzące węzły klastra mogą komunikować się ze sobą za pośrednictwem adresu VIP serwera API i adresów IP zasobników, które są przypisane do delegowanej podsieci.
Integracja z siecią wirtualną serwera API jest obsługiwana w przypadku klastrów publicznych lub prywatnych. Dostęp publiczny można dodać lub usunąć po aprowizacji klastra. W przeciwieństwie do klastrów niezintegrowanych z siecią wirtualną, węzły agenta zawsze komunikują się bezpośrednio z prywatnym adresem IP wewnętrznego modułu równoważenia obciążenia (ILB) serwera API, nie używając systemu DNS. Cały ruch między węzłami a serwerem API odbywa się w sieci prywatnej i do połączenia serwera API z węzłem nie jest wymagany tunel. Klienci poza klastrem, którzy muszą komunikować się z serwerem interfejsu API, mogą to zrobić normalnie, jeśli jest włączony dostęp do sieci publicznej. Jeśli dostęp do sieci publicznej jest wyłączony, należy postępować zgodnie z tą samą prywatną metodologią konfiguracji DNS co standardowe klastry prywatne.
Wymagania wstępne
- Musisz mieć zainstalowany interfejs wiersza polecenia platformy Azure w wersji 2.73.0 lub nowszej. Możesz sprawdzić swoją wersję przy użyciu
az --versionpolecenia .
Ograniczenia
- Integracja z siecią wirtualną serwera API nie obsługuje szyfrowania sieci wirtualnej. Klastry wdrożone na SKU węzłów AKS w wersji 3 lub starszej (które nie obsługują szyfrowania sieci VNet), są dozwolone, ale ruch nie będzie szyfrowany. Klastry wdrożone na SKU węzłów AKS w wersji 4 lub nowszej (które obsługują Szyfrowanie VNet) są blokowane, ponieważ zaszyfrowane sieci VNet są niezgodne z Integracją VNet z serwerem API. Zobacz obsługiwane jednostki SKU VM w AKS dla szczegółów.
Availability
- Integracja z siecią wirtualną serwera API jest dostępna we wszystkich regionach chmury publicznej ogólnie dostępnej z wyjątkiem regionów eastus2 i qatarcentral. Nieustannie pracujemy nad włączeniem tej funkcji w tych regionach i zaktualizujemy tę stronę, gdy te regiony staną się dostępne.
Utwórz klaster AKS z integracją serwera API z siecią wirtualną przy użyciu zarządzanej sieci wirtualnej.
Możesz skonfigurować swoje klastry AKS z integracją serwera API z VNet w zarządzanej sieci VNet lub w trybie "użyj własnego VNet". Można je utworzyć jako klastry publiczne (z dostępem do serwera interfejsu API dostępnym za pośrednictwem publicznego adresu IP) lub klastrami prywatnymi (gdzie serwer interfejsu API jest dostępny tylko za pośrednictwem prywatnej łączności z siecią wirtualną). Można również przełączać się między stanem publicznym i prywatnym bez ponownego wdrażania klastra.
Tworzenie grupy zasobów
Utwórz grupę zasobów przy użyciu
az group createpolecenia .az group create --location westus2 --name <resource-group>
Wdrażanie klastra publicznego
Wdróż publiczny klaster AKS z integracją serwera Interfejsu API z siecią VNet dla zarządzanej sieci VNet, używając polecenia
az aks createz flagą--enable-api-server-vnet-integration.az aks create --name <cluster-name> \ --resource-group <resource-group> \ --location <location> \ --network-plugin azure \ --enable-apiserver-vnet-integration \ --generate-ssh-keys
Wdrażanie klastra prywatnego
Wdróż prywatny klaster AKS z integracją z siecią wirtualną serwera API dla zarządzanej sieci wirtualnej, używając polecenia
az aks createz flagami--enable-api-server-vnet-integrationi--enable-private-cluster.az aks create --name <cluster-name> \ --resource-group <resource-group> \ --location <location> \ --network-plugin azure \ --enable-private-cluster \ --enable-apiserver-vnet-integration \ --generate-ssh-keys
Tworzenie prywatnego klastra usługi AKS z integracją z siecią wirtualną usługi API Server przy użyciu własnej sieci wirtualnej
W przypadku korzystania z własnej sieci wirtualnej należy utworzyć i delegować podsieć serwera interfejsu API do Microsoft.ContainerService/managedClustersusługi , która przyznaje usłudze AKS uprawnienia do wstrzykiwania zasobników serwera interfejsu API i wewnętrznego modułu równoważenia obciążenia do tej podsieci. Nie można używać podsieci dla innych obciążeń, ale można jej używać w przypadku wielu klastrów usługi AKS znajdujących się w tej samej sieci wirtualnej. Minimalny obsługiwany rozmiar podsieci serwera interfejsu API to /28.
Tożsamość klastra musi mieć uprawnienia zarówno do podsieci serwera interfejsu API, jak i podsieci węzła. Brak uprawnień w podsieci serwera interfejsu API może spowodować niepowodzenie aprowizacji.
Ostrzeżenie
Klaster AKS rezerwuje co najmniej 9 adresów IP w przestrzeni podsieci. Brak adresów IP może uniemożliwić skalowanie serwera interfejsu API i spowodować awarię serwera interfejsu API.
Tworzenie grupy zasobów
- Utwórz grupę zasobów przy użyciu
az group createpolecenia .
az group create --location <location> --name <resource-group>
Tworzenie sieci wirtualnej
Utwórz sieć wirtualną przy użyciu
az network vnet createpolecenia .az network vnet create --name <vnet-name> \ --resource-group <resource-group> \ --location <location> \ --address-prefixes 172.19.0.0/16Utwórz podsieć serwera API przy użyciu polecenia
az network vnet subnet create.az network vnet subnet create --resource-group <resource-group> \ --vnet-name <vnet-name> \ --name <apiserver-subnet-name> \ --delegations Microsoft.ContainerService/managedClusters \ --address-prefixes 172.19.0.0/28Utwórz podsieć klastra przy użyciu
az network vnet subnet createpolecenia .az network vnet subnet create --resource-group <resource-group> \ --vnet-name <vnet-name> \ --name <cluster-subnet-name> \ --address-prefixes 172.19.1.0/24
Tworzenie tożsamości zarządzanej i nadawanie jej uprawnień w sieci wirtualnej
Utwórz tożsamość zarządzaną przy użyciu
az identity createpolecenia .az identity create --resource-group <resource-group> --name <managed-identity-name> --location <location>Przypisz rolę Współtwórca sieci do podsieci serwera API, używając polecenia
az role assignment create.az role assignment create --scope <apiserver-subnet-resource-id> \ --role "Network Contributor" \ --assignee <managed-identity-client-id>Przypisz rolę Dawcy uprawnień sieciowych do podsieci klastra za pomocą polecenia
az role assignment create.az role assignment create --scope <cluster-subnet-resource-id> \ --role "Network Contributor" \ --assignee <managed-identity-client-id>
Wdrażanie klastra publicznego
Wdróż publiczny klaster AKS z integracją serwera API z siecią wirtualną, używając polecenia
az aks createz flagą--enable-api-server-vnet-integration.az aks create --name <cluster-name> \ --resource-group <resource-group> \ --location <location> \ --network-plugin azure \ --enable-apiserver-vnet-integration \ --vnet-subnet-id <cluster-subnet-resource-id> \ --apiserver-subnet-id <apiserver-subnet-resource-id> \ --assign-identity <managed-identity-resource-id> \ --generate-ssh-keys
Wdrażanie klastra prywatnego
Użyj polecenia
az aks createz flagami--enable-api-server-vnet-integrationi--enable-private-cluster, aby wdrożyć prywatny klaster AKS z integracją serwera API z siecią wirtualną.az aks create --name <cluster-name> \ --resource-group <resource-group> \ --location <location> \ --network-plugin azure \ --enable-private-cluster \ --enable-apiserver-vnet-integration \ --vnet-subnet-id <cluster-subnet-resource-id> \ --apiserver-subnet-id <apiserver-subnet-resource-id> \ --assign-identity <managed-identity-resource-id> \ --generate-ssh-keys
Konwertowanie istniejącego klastra usługi AKS na integrację z siecią wirtualną serwera API
Ostrzeżenie
Integracja z siecią wirtualną serwera API to jednokierunkowa funkcja wrażliwa na pojemność.
Wymagane jest ręczne ponowne uruchomienie.
Po włączeniu integracji z siecią wirtualną programu API Server przy użyciu programuaz aks update --enable-apiserver-vnet-integrationnależy natychmiast ponownie uruchomić klaster, aby zmiany zaczęły obowiązywać. To ponowne uruchomienie nie jest zautomatyzowane. Opóźnienie ponownego uruchamiania zwiększa ryzyko niedostępności pojemności, co może uniemożliwić uruchamianie serwera interfejsu API.Pojemność jest weryfikowana, ale nie jest zarezerwowana.
Usługa AKS weryfikuje pojemność regionalną po włączeniu funkcji w istniejącym klastrze, ale ta walidacja nie rezerwuje pojemności. Jeśli ponowne uruchomienie zostanie opóźnione, a pojemność stanie się niedostępna w międzyczasie, uruchomienie klastra może zakończyć się niepowodzeniem po zatrzymaniu lub ponownym uruchomieniu. Klastry, które włączyły tę funkcję przed ogólną dostępnością lub które nie zostały jeszcze uruchomione ponownie od momentu włączenia, nie zostaną poddane walidacji pojemności.Nie można wyłączyć funkcji.
Po włączeniu, funkcja staje się trwała. Nie można wyłączyć integracji z siecią wirtualną serwera API.
To uaktualnienie przeprowadza uaktualnienie wersji obrazu węzłów we wszystkich pulach oraz ponownie uruchamia wszystkie obciążenia w trakcie ich stopniowego uaktualniania obrazu.
Ostrzeżenie
Przekonwertowanie klastra na integrację z siecią VNet serwera API powoduje zmianę jego adresu IP, choć nazwa hosta pozostaje taka sama. Jeśli adres IP serwera interfejsu API został skonfigurowany w dowolnych zaporach lub regułach sieciowej grupy zabezpieczeń, może być konieczne zaktualizowanie tych reguł.
Zaktualizuj klaster do integracji z siecią wirtualną usługi API Server przy użyciu
az aks updatepolecenia z flagą--enable-apiserver-vnet-integration.az aks update --name <cluster-name> \ --resource-group <resource-group> \ --enable-apiserver-vnet-integration \ --apiserver-subnet-id <apiserver-subnet-resource-id>
Włączanie lub wyłączanie trybu klastra prywatnego w istniejącym klastrze za pomocą integracji z siecią wirtualną serwera API
Klastry usługi AKS skonfigurowane za pomocą integracji z siecią wirtualną serwera API mogą mieć włączony lub wyłączony tryb sieci publicznej/klastra prywatnego bez ponownego wdrażania klastra. Nazwa hosta serwera interfejsu API nie zmienia się, ale w razie potrzeby publiczne wpisy DNS są modyfikowane lub usuwane.
Uwaga
--disable-private-cluster jest obecnie w wersji zapoznawczej. Aby uzyskać więcej informacji, zobacz Poziomy odniesienia i wsparcia.
Włączanie trybu klastra prywatnego
Włącz tryb klastra prywatnego za pomocą polecenia
az aks updatez flagą--enable-private-cluster.az aks update --name <cluster-name> \ --resource-group <resource-group> \ --enable-private-cluster
Wyłączanie trybu klastra prywatnego
Wyłącz tryb klastra prywatnego przy użyciu
az aks updatepolecenia z flagą--disable-private-cluster.az aks update --name <cluster-name> \ --resource-group <resource-group> \ --disable-private-cluster
Nawiązywanie połączenia z klastrem przy użyciu narzędzia kubectl
Skonfiguruj
kubectl, aby nawiązać połączenie z klastremaz aks get-credentialsprzy użyciu polecenia .az aks get-credentials --resource-group <resource-group> --name <cluster-name>
Uwidacznianie serwera interfejsu API za pomocą usługi Private Link
Punkt końcowy serwera API klastra prywatnego można udostępnić za pomocą integracji serwera API z siecią VNet przy użyciu usługi Azure Private Link. W poniższych krokach pokazano, jak utworzyć usługę Private Link (PLS) w sieci wirtualnej klastra i nawiązać z nią połączenie z inną siecią wirtualną lub subskrypcją przy użyciu prywatnego punktu końcowego.
Utwórz prywatny klaster z integracją VNet serwera API.
Utwórz prywatny klaster AKS z integracją serwera API z siecią wirtualną, używając polecenia
az aks createz opcjami--enable-api-server-vnet-integrationi--enable-private-cluster.az aks create --name <cluster-name> \ --resource-group <resource-group> \ --location <location> \ --enable-private-cluster \ --enable-apiserver-vnet-integration
Aby uzyskać więcej wskazówek dotyczących konfigurowania usługi Private Link z integracją z siecią wirtualną serwera interfejsu API, zobacz Private Link with API Server VNet Integration (Integracja usługi Private Link z siecią wirtualną serwera interfejsu API).
Reguły grupy zabezpieczeń sieci
Cały ruch w sieci wirtualnej jest domyślnie dozwolony. Jeśli jednak dodano reguły NSG w celu ograniczenia ruchu między różnymi podsieciami, upewnij się, że reguły NSG zezwalają na następujące typy komunikacji:
| Cel | Źródło | Protokół | Port | Użyj |
|---|---|---|---|---|
| Podsieć CIDR APIServer | Podsieć klastra | TCP | 443 i 4443 | Wymagane do umożliwienia komunikacji między węzłami systemu i serwerem API. |
| Podsieć CIDR APIServer | Azure Load Balancer | TCP | 9988 | Wymagane do włączenia komunikacji między usługą Azure Load Balancer i serwerem interfejsu API. Możesz również włączyć całą komunikację między usługą Azure Load Balancer a podsiecią CIDR serwera API. |
Następne kroki
- Aby uzyskać informacje o skojarzonych najlepszych rozwiązaniach, zobacz Najlepsze rozwiązania dotyczące łączności sieciowej i zabezpieczeń w usłudze AKS.
- Aby uzyskać wskazówki dotyczące konfigurowania łącza prywatnego za pomocą integracji z siecią wirtualną serwera API, zobacz Private Link with API Server VNet Integration (Integracja usługi Private Link z siecią wirtualną serwera interfejsu API).