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/16172.30.0.0/16172.31.0.0/16192.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

  1. Hozzon létre egy Azure-erőforráscsoportot az AKS-fürthöz a az group create paranccsal.

    az group create -l eastus -n myResourceGroup
    
  2. 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ével none.

    az aks create -l eastus -g myResourceGroup -n myAKSCluster --network-plugin none
    

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: