Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A hagyományos CNI hátránya a pod IP-címeinek kimerülése az AKS-fürt méretének növekedésével, amely azt eredményezheti, hogy a teljes fürtöt újjá kell építeni egy nagyobb alhálózatban. Az Azure CNI új dinamikus IP-foglalási képessége megoldja ezt a problémát azáltal, hogy pod IP-címeket oszt ki az AKS-fürtöt üzemeltető alhálózattól eltérő alhálózatról.
A következő előnyöket nyújtja:
- Továbbfejlesztett IP-kihasználás: Az IP-k dinamikusan kerülnek kiosztásra a klaszter Pods-ok számára a Pod alhálózatból. Ez javítja az IP-k kihasználtságát a klaszterekben a hagyományos CNI megoldáshoz képest, amely statikus IP-allokációt alkalmaz minden egyes csomópontnál.
- Skálázható és rugalmas: A csomópontok és podok alhálózatai egymástól függetlenül skálázhatók. Egyetlen pod-alhálózat megosztható egy klaszter több csomópontkészlete között vagy több AKS-klaszter között, amelyek ugyanabban a virtuális hálózatban (VNet) vannak üzembe helyezve. A csomópontkészlethez külön pod-alhálózatot is konfigurálhat.
- Nagy teljesítmény: Mivel a podok virtuális hálózati IP-címekhez vannak rendelve, közvetlen kapcsolatot létesítenek a virtuális hálózat más fürt podjaival és erőforrásaival. A megoldás nagyon nagy klasztereket támogat teljesítményromlás nélkül.
- Külön VNet-szabályzatok podokhoz: Mivel a podoknak külön alhálózatuk van, külön VNet-szabályzatokat állíthat be számukra, amelyek eltérnek a csomópontok szabályzataitól. Ez számos hasznos forgatókönyvet tesz lehetővé, például az internetkapcsolat engedélyezését csak a podoknak és nem a csomópontoknak, a csomópontkészletek podjainak forrás IP-címének rögzítését egy Azure NAT átjáró használatával, valamint az NSG-k alkalmazását a csomópontkészletek közötti forgalom szűrésére.
- Kubernetes hálózati szabályzatok: Az Azure Hálózati szabályzatok és a Calico is ezzel az új megoldással dolgozik.
Ez a cikk bemutatja, hogyan használhatja az Azure CNI pod-alhálózatát – dinamikus IP-kiosztást és továbbfejlesztett alhálózati támogatást az AKS-ben.
Prerequisites
Tekintse át az alapszintű Azure CNI-hálózatkezelés konfigurálásának előfeltételeit az AKS-ben, mivel a jelen cikkre ugyanazok az előfeltételek vonatkoznak.
Tekintse át az üzembehelyezési paramétereket az Azure CNI alapszintű hálózatkezelésének konfigurálásához az AKS-ben, mivel ugyanezek a paraméterek érvényesek.
Az AKS Engine és a DIY-fürtök nem támogatottak.
Azure CLI-verzió
2.37.0vagy újabb verzió.Ha már rendelkezik fürtel, engedélyeznie kell a Container Insightst az IP-alhálózatok használatának figyeléséhez. A Container Insightst a
az aks enable-addonsparancs használatával engedélyezheti, ahogyan az alábbi példában is látható:az aks enable-addons --addons monitoring --name $CLUSTER_NAME --resource-group $RESOURCE_GROUP_NAME
IP-címzés megtervezése
Ezzel a funkcióval sokkal egyszerűbb megtervezni az IP-címzést. Mivel a csomópontok és podok egymástól függetlenül méretezhetők, a címterek külön is tervezhetők. Mivel a pod-alhálózatok konfigurálhatók a csomópontkészlet részletességéhez, csomópontkészlet hozzáadásakor mindig hozzáadhat egy új alhálózatot. A rendszer podjai egy fürtben/csomópontkészletben IP-címeket kapnak a podok alhálózatáról, így ezt a viselkedést számításba kell venni.
Az IP-címek 16-os kötegekben vannak lefoglalva a csomópontokhoz. A pod alhálózathoz tartozó IP-címek kiosztását a fürtön belül csomópontonként legalább 16 IP-címmel kell megtervezni; a csomópontok indításkor 16 IP-címet kérnek, és újabb 16 IP-címet kérnek, amikor csak 8 IP-cím van kiosztva a kontingensükben.
A Kubernetes-szolgáltatásokhoz és a Docker-hídhoz tartozó IP-címek tervezése változatlan marad.
Az IP-foglalásokért felelős NodeNetworkConfiguration (NNC) erőforrások megtekintéséhez és ellenőrzéséhez futtassa a következő parancsot:
kubectl get nodenetworkconfigs -n kube-system -o wide
Podok maximális száma csomópontonként egy fürtben pod-alhálózattal – Dinamikus IP-kiosztás és továbbfejlesztett alhálózat-támogatás
A podok csomópontonkénti értéke az Azure CNI pod-alhálózatának használatakor – A dinamikus IP-foglalás kissé eltér a hagyományos CNI-viselkedéstől:
| CNI | Default | Üzembe helyezéskor konfigurálható |
|---|---|---|
| Hagyományos Azure CNI | 30 | Igen (legfeljebb 250) |
| Azure CNI pod-alhálózat – Dinamikus IP-kiosztás | 250 | Igen (legfeljebb 250) |
A csomópontonkénti maximális podok konfigurálásával kapcsolatos összes egyéb útmutató változatlan marad.
Üzembehelyezési paraméterek
Az Azure CNI alapszintű hálózatkezelésének AKS-ben való konfigurálására szolgáló üzembehelyezési paraméterekmind érvényesek, két kivétellel:
- Az alhálózat paraméter most a fürt csomópontjaihoz kapcsolódó alhálózatra vonatkozik.
- A rendszer egy további paraméter pod-alhálózatot használ annak az alhálózatnak a megadásához, amelynek IP-címei dinamikusan lesznek lefoglalva a podokhoz.
Pod-alhálózat konfigurálása – Dinamikus IP-kiosztás és továbbfejlesztett alhálózat-támogatás – Azure CLI
Pod-alhálózat használata – A fürt dinamikus IP-foglalása és továbbfejlesztett alhálózati támogatása hasonló az Azure CNI-fürt konfigurálásának alapértelmezett módszeréhez. Az alábbi példa bemutatja, hogyan hozhat létre új virtuális hálózatot a csomópontok alhálózatával és a podokhoz tartozó alhálózattal, és hogyan hozhat létre egy Azure CNI pod-alhálózatot használó fürtöt – dinamikus IP-kiosztást és továbbfejlesztett alhálózat-támogatást. Mindenképpen cserélje le a változókat, például a $subscription-t a saját értékeire.
Hozza létre a virtuális hálózatot két alhálózattal.
RESOURCE_GROUP_NAME="myResourceGroup"
VNET_NAME="myVirtualNetwork"
LOCATION="westcentralus"
SUBNET_NAME_1="nodesubnet"
SUBNET_NAME_2="podsubnet"
# Create the resource group
az group create --name $RESOURCE_GROUP_NAME --location $LOCATION
# Create our two subnet network
az network vnet create --resource-group $RESOURCE_GROUP_NAME --location $LOCATION --name $VNET_NAME --address-prefixes 10.0.0.0/8 -o none
az network vnet subnet create --resource-group $RESOURCE_GROUP_NAME --vnet-name $VNET_NAME --name $SUBNET_NAME_1 --address-prefixes 10.240.0.0/16 -o none
az network vnet subnet create --resource-group $RESOURCE_GROUP_NAME --vnet-name $VNET_NAME --name $SUBNET_NAME_2 --address-prefixes 10.241.0.0/16 -o none
Hozza létre a fürtöt, hivatkozva a csomópont alhálózatára --vnet-subnet-id és a pod alhálózatára --pod-subnet-id, valamint engedélyezze a monitorozási bővítményt.
CLUSTER_NAME="myAKSCluster"
SUBSCRIPTION="aaaaaaa-aaaaa-aaaaaa-aaaa"
az aks create \
--name $CLUSTER_NAME \
--resource-group $RESOURCE_GROUP_NAME \
--location $LOCATION \
--max-pods 250 \
--node-count 2 \
--network-plugin azure \
--vnet-subnet-id /subscriptions/$SUBSCRIPTION/resourceGroups/$RESOURCE_GROUP_NAME/providers/Microsoft.Network/virtualNetworks/$VNET_NAME/subnets/$SUBNET_NAME_1 \
--pod-subnet-id /subscriptions/$SUBSCRIPTION/resourceGroups/$RESOURCE_GROUP_NAME/providers/Microsoft.Network/virtualNetworks/$VNET_NAME/subnets/$SUBNET_NAME_2 \
--enable-addons monitoring \
--generate-ssh-keys
Csomópontkészlet hozzáadása
Csomópontkészlet hozzáadásakor a csomópont alhálózatára a --vnet-subnet-id használatával hivatkozzon, és a pod alhálózatát a --pod-subnet-id segítségével használja. Az alábbi példa két új alhálózatot hoz létre, amelyekre aztán hivatkozni kell egy új csomópontkészlet létrehozásakor:
SUBNET_NAME_3="node2subnet"
SUBNET_NAME_4="pod2subnet"
NODE_POOL_NAME="mynodepool"
az network vnet subnet create --resource-group $RESOURCE_GROUP_NAME --vnet-name $VNET_NAME --name $SUBNET_NAME_3 --address-prefixes 10.242.0.0/16 -o none
az network vnet subnet create --resource-group $RESOURCE_GROUP_NAME --vnet-name $VNET_NAME --name $SUBNET_NAME_4 --address-prefixes 10.243.0.0/16 -o none
az aks nodepool add --cluster-name $CLUSTER_NAME --resource-group $RESOURCE_GROUP_NAME --name $NODE_POOL_NAME \
--max-pods 250 \
--node-count 2 \
--vnet-subnet-id /subscriptions/$SUBSCRIPTION/resourceGroups/$RESOURCE_GROUP_NAME/providers/Microsoft.Network/virtualNetworks/$VNET_NAME/subnets/$SUBNET_NAME_3 \
--pod-subnet-id /subscriptions/$SUBSCRIPTION/resourceGroups/$RESOURCE_GROUP_NAME/providers/Microsoft.Network/virtualNetworks/$VNET_NAME/subnets/$SUBNET_NAME_4 \
--no-wait
IP-alhálózat használatának figyelése
Az Azure CNI lehetővé teszi az IP-alhálózatok használatának monitorozását. Az IP-alhálózatok használatának monitorozásához kövesse az alábbi lépéseket:
A YAML-fájl lekérése
Töltse le vagy keresse ki a container-azm-ms-agentconfig.yaml nevű fájlt a GitHub-ról.
Keresd meg
azure_subnet_ip_usageaz integrációkban. Állítsa aenabledelemettrueértékre.Mentse a fájlt.
Az AKS hitelesítő adatainak lekérése
Állítsa be az előfizetés, az erőforráscsoport és a fürt változóit. Vegyük példaként az alábbiakat:
az account set --subscription $SUBSCRIPTION
az aks get-credentials --name $CLUSTER_NAME --resource-group $RESOURCE_GROUP_NAME
A konfiguráció alkalmazása
- Nyissa meg a terminált abban a mappában, amelyben a letöltött container-azm-ms-agentconfig.yaml fájl mentésre kerül.
- Alkalmazza a konfigurációt a
kubectl apply -f container-azm-ms-agentconfig.yamlparancs használatával. Ez újraindítja a podot, és 5–10 perc elteltével a metrikák láthatók lesznek. - A fürt metrikáinak megtekintéséhez navigáljon a fürt oldalán lévő Munkafüzetekre az Azure portálon, és keresse meg a Subnet IP Usage nevű munkafüzetet.
Azure CNI alhálózat – GYIK a dinamikus IP-kiosztásról és a továbbfejlesztett alhálózati támogatásról
Hozzárendelhetek több pod-alhálózatot egy fürthöz vagy csomópontkészlethez?
Csak egy alhálózat rendelhető hozzá egy fürthöz vagy csomópontkészlethez. Azonban több fürt vagy csomóponthalmaz is megoszthat egyetlen alhálózatot.
Rendelhetek pod-alhálózatokat egy egészen más virtuális hálózatból?
Nem, a pod alhálózatának a fürttel azonos virtuális hálózatból kell származnia.
Használhatja egy fürt egyes csomópontkészlete a hagyományos CNI-t, míg mások az új CNI-t?
A teljes fürtnek csak egy típusú CNI-t kell használnia.
Következő lépések
További információ az AKS hálózatkezeléséről az alábbi cikkekben: