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.
Platforma Kubernetes domyślnie nie udostępnia systemu interfejsu sieciowego. Zamiast tego wtyczki sieciowe zapewniają tę funkcjonalność. Usługa Azure Kubernetes Service (AKS) udostępnia kilka obsługiwanych wtyczek interfejsu sieciowego kontenera (CNI). Aby uzyskać informacje na temat obsługiwanych wtyczek, zobacz Pojęcia dotyczące sieci dla aplikacji w usłudze Azure Kubernetes Service.
Obsługiwane wtyczki spełniają większość potrzeb sieciowych na platformie Kubernetes. Jednak zaawansowani użytkownicy usługi AKS mogą potrzebować tej samej wtyczki CNI, która była używana w lokalnych środowiskach Kubernetes. Lub ci użytkownicy mogą chcieć korzystać z zaawansowanych funkcji dostępnych w innych wtyczkach CNI.
W tym artykule pokazano, jak wdrożyć klaster usługi AKS bez wstępnie zainstalowanej wtyczki CNI. Z tego miejsca możesz zainstalować dowolną wtyczkę CNI, która działa na platformie Azure.
Pomoc techniczna
Pomoc techniczna firmy Microsoft nie jest w stanie pomóc w rozwiązywaniu problemów związanych z siecią CNI w klastrach wdrażanych poprzez dostarczenie własnej wtyczki CNI. Na przykład problemy związane z siecią CNI obejmowałyby większość ruchu na wschód/zachód (zasobnik do zasobnika) wraz z podobnymi poleceniami kubectl proxy i podobnymi poleceniami. Jeśli potrzebujesz obsługi CNI, użyj obsługiwanej wtyczki sieciowej usługi AKS lub poszukaj pomocy technicznej od dostawcy wtyczki CNI.
Firma Microsoft nadal zapewnia obsługę problemów, które nie są związane z siecią CNI.
Wymagania wstępne
- W przypadku usługi Azure Resource Manager lub Bicep użyj co najmniej szablonu w wersji 2022-01-02-preview lub 2022-06-01.
- W przypadku interfejsu wiersza polecenia platformy Azure użyj co najmniej wersji 2.39.0.
- Sieć wirtualna klastra usługi AKS musi zezwalać na wychodzącą łączność z Internetem.
- Klastry usługi AKS nie mogą używać
169.254.0.0/16,172.30.0.0/16,172.31.0.0/16lub192.0.2.0/24dla zakresu adresów usługi Kubernetes, zasobników ani sieci wirtualnej klastra. - 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 chcesz zdefiniować rolę niestandardową zamiast korzystać z wbudowanej roli Współautor sieci, wymagane są następujące uprawnienia:
Microsoft.Network/virtualNetworks/subnets/join/actionMicrosoft.Network/virtualNetworks/subnets/read
- Podsieć przypisana do puli węzłów usługi AKS nie może być podsiecią delegowana.
- Usługa AKS nie stosuje sieciowych grup zabezpieczeń do podsieci ani nie modyfikuje żadnej sieciowej grupy zabezpieczeń skojarzonej z tą podsiecią. Jeśli podasz własną podsieć i dodasz skojarzone z nią sieciowe grupy zabezpieczeń (NSG), upewnij się, że reguły tych grup zezwalają na ruch w ramach zakresu CIDR węzła. Aby uzyskać więcej informacji, zobacz Sieciowe grupy zabezpieczeń.
- Usługa AKS nie tworzy tabeli tras w zarządzanej sieci wirtualnej.
- Należy określić CIDR dla Podów (zakres adresów IP dla Podów). Płaszczyzna sterowania usługi AKS używa tego zakresu dla wewnętrznego routingu ruchu do zasobników, mimo że przypisanie adresu IP zasobnika będzie zarządzane przez niestandardową nazwę CNI. Jeśli nie podano CIDR zasobnika, komunikacja płaszczyzny sterowania z zasobnikiem może zakończyć się niepowodzeniem lub zostać nieprawidłowo przekierowana. Musisz wybrać CIDR pods, który nie powoduje konfliktu z żadną inną siecią w twoim środowisku i unika zarezerwowanych zakresów Azure, takich jak
169.254.0.0/16,172.30.0.0/16,172.31.0.0/16lub192.0.2.0/24. Na przykład możesz użyć zakresu, takiego jak10.XX.0.0/16, który jest unikalny dla klastra. Dzięki temu płaszczyzna sterowania może bezpośrednio kierować ruch do adresów IP podów na twoich węzłach, a integracja z innymi sieciami lub klastrami zapewnia, że nie wystąpi nakładanie się adresów IP.
Tworzenie klastra usługi AKS bez wstępnie zainstalowanej wtyczki CNI
Utwórz grupę zasobów platformy Azure dla klastra usługi AKS przy użyciu
az group createpolecenia .az group create --location eastus --name myResourceGroupUtwórz klaster usługi AKS za pomocą polecenia
az aks create.--network-pluginPrzekaż parametr z wartością parametrunone.az aks create \ --location eastus \ --resource-group myResourceGroup \ --name myAKSCluster \ --network-plugin none \ --pod-cidr "10.10.0.0/16" \ --generate-ssh-keys
Wdrażanie wtyczki CNI
Po zakończeniu aprowizacji usługi AKS klaster jest w trybie online. Jednakże wszystkie węzły są w NotReady stanie, jak pokazano w poniższym przykładzie.
$ kubectl get nodes
NAME STATUS ROLES AGE VERSION
aks-nodepool1-23902496-vmss000000 NotReady agent 6m9s v1.21.9
$ kubectl get node -o custom-columns='NAME:.metadata.name,STATUS:.status.conditions[?(@.type=="Ready")].message'
NAME STATUS
aks-nodepool1-23902496-vmss000000 container runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:Network plugin returns error: cni plugin not initialized
W tym momencie klaster jest gotowy do instalacji wtyczki CNI.