Saját Container Network Interface (CNI) beépülő modul használata az Azure Kubernetes Service -vel (AKS)
A Kubernetes alapértelmezés szerint nem biztosít hálózati adapterrendszert. Ehelyett a hálózati beépülő modulok biztosítják ezt a funkciót. Az Azure Kubernetes Service (AKS) számos támogatott CNI beépülő modult biztosít. A támogatott beépülő modulokról az AKS hálózatkezelési fogalmaiban talál további információt.
A támogatott beépülő modulok a Kubernetesben a legtöbb hálózati igényt kielégítik. A fejlett AKS-felhasználók azonban a helyszíni Kubernetes-környezetekben használt CNI-beépülő modult, vagy más CNI beépülő modulokban elérhető speciális funkciókat szeretnének használni.
Ez a cikk bemutatja, hogyan helyezhet üzembe előre telepített CNI beépülő modul nélküli AKS-fürtöt. Innen telepítheti az Azure-ban működő külső CNI-beépülő modult.
Támogatás
A Microsoft ügyfélszolgálata nem tud segíteni a saját tárolóhálózati adapterrel (BYOCNI) üzembe helyezett fürtök CNI-vel kapcsolatos problémáiban. A CNI-vel kapcsolatos problémák például a legtöbb kelet-nyugati (pod–pod) forgalmat, valamint kubectl proxy
a hasonló parancsokat fednék le. Ha CNI-támogatásra van szüksége, használjon egy támogatott AKS hálózati beépülő modult, vagy kérjen támogatást a BYOCNI beépülő modul külső gyártójától.
A nem CNI-hez kapcsolódó problémák továbbra is támogatottak.
Előfeltételek
- Az Azure Resource Manager (ARM) vagy a Bicep esetében használja legalább a 2022-01-02-preview vagy a 2022-06-01 sablonverziót.
- Az Azure CLI esetében használja legalább a 2.39.0-s verziót.
- Az AKS-fürt virtuális hálózatának engedélyeznie kell a kimenő internetkapcsolatot.
- Az AKS-fürtök nem használhatják
169.254.0.0/16
172.30.0.0/16
172.31.0.0/16
192.0.2.0/24
a Kubernetes szolgáltatás címtartományát, podcímtartományát vagy fürt virtuális hálózati címtartományát. - Az AKS-fürt által használt fürtidentitásnak legalább hálózati közreműködői engedélyekkel kell rendelkeznie a virtuális hálózaton belüli alhálózaton. Ha a beépített hálózati közreműködői szerepkör használata helyett egyéni szerepkört szeretne definiálni, a következő engedélyekre van szükség:
Microsoft.Network/virtualNetworks/subnets/join/action
Microsoft.Network/virtualNetworks/subnets/read
- Az AKS-csomópontkészlethez rendelt alhálózat nem lehet delegált alhálózat.
- Az AKS nem alkalmazza a hálózati biztonsági csoportokat (NSG-ket) az alhálózatára, és nem módosítja az alhálózathoz társított NSG-k egyikét sem. Ha saját alhálózatot ad meg, és hozzáadja az alhálózathoz társított NSG-ket, győződjön meg arról, hogy az NSG-k biztonsági szabályai engedélyezik a forgalmat a csomópont CIDR-tartományán belül. További információ: Hálózati biztonsági csoportok.
AKS-fürt létrehozása előre telepített CNI beépülő modul nélkül
Hozzon létre egy Azure-erőforráscsoportot az AKS-fürthöz a
az group create
paranccsal.az group create --location eastus --name myResourceGroup
Hozzon létre egy AKS-fürtöt a
az aks create
paranccsal. Adja meg a--network-plugin
paramétert a paraméter értékévelnone
.az aks create \ --location eastus \ --resource-group myResourceGroup \ --name myAKSCluster \ --network-plugin none \ --generate-ssh-keys
CNI beépülő modul üzembe helyezése
Miután az AKS kiépítése befejeződött, a fürt online állapotban van, de az összes csomópont állapotban NotReady
van, ahogyan az alábbi példában látható:
$ 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
Ezen a ponton a fürt készen áll egy CNI beépülő modul telepítésére.
Következő lépések
További információ az AKS hálózatkezeléséről az alábbi cikkekben:
Azure Kubernetes Service