Wtyczka Bring your own Container Network Interface (CNI) z usługą Azure Kubernetes Service (AKS)
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 CNI. Aby uzyskać informacje na temat obsługiwanych wtyczek, zobacz pojęcia dotyczące sieci usługi AKS.
Obsługiwane wtyczki spełniają większość potrzeb sieciowych na platformie Kubernetes. Jednak zaawansowani użytkownicy usługi AKS mogą chcieć używać tej samej wtyczki CNI używanej w lokalnych środowiskach Kubernetes lub 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. Następnie możesz zainstalować dowolną wtyczkę CNI innej firmy, która działa na platformie Azure.
Pomoc techniczna
Pomoc techniczna firmy Microsoft nie może pomóc w rozwiązywaniu problemów związanych z siecią CNI w klastrach wdrożonych za pomocą interfejsu byOCNI (Bring your own Container Network Interface). 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 chcesz uzyskać pomoc techniczną dotyczącą interfejsu CNI, użyj obsługiwanej wtyczki sieciowej usługi AKS lub poszukaj pomocy technicznej od innego dostawcy wtyczki BYOCNI.
Obsługa jest nadal zapewniana w przypadku problemów niezwiązanych z siecią CNI.
Wymagania wstępne
- W przypadku usługi Azure Resource Manager (ARM) 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 mogą nie używać
169.254.0.0/16
zakresu172.30.0.0/16
172.31.0.0/16
192.0.2.0/24
adresów usługi Kubernetes, zakresu adresów zasobnika lub zakresu adresów 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/action
Microsoft.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 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. Aby uzyskać więcej informacji, zobacz Sieciowe grupy zabezpieczeń.
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 create
polecenia .az group create --location eastus --name myResourceGroup
Utwórz klaster usługi AKS przy użyciu
az aks create
polecenia .--network-plugin
Przekaż parametr z wartością parametrunone
.az aks create \ --location eastus \ --resource-group myResourceGroup \ --name myAKSCluster \ --network-plugin none \ --generate-ssh-keys
Wdrażanie wtyczki CNI
Po zakończeniu aprowizacji usługi AKS klaster jest w trybie online, ale 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.
Następne kroki
Dowiedz się więcej o sieci w usłudze AKS w następujących artykułach:
Azure Kubernetes Service