Azure Container Networking Interface (CNI) pod-alhálózat
Az Azure CNI pod-alhálózat ip-címeket rendel a fürtcsomópontoktól eltérő alhálózatból származó podokhoz. Ez a funkció két módban érhető el: dinamikus IP-foglalás és statikus blokklefoglalás (előzetes verzió).
Előfeltételek
Feljegyzés
A CIDR-ek statikus blokklefoglalása esetén az alkalmazás privát kapcsolati szolgáltatásként való felfedése Kubernetes Load Balancer-szolgáltatással nem támogatott.
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.
Az Azure CLI vagy újabb verziója
2.37.0
, valamint aaks-preview
bővítmény vagy újabb verzió2.0.0b2
.Regisztrálja előfizetése előfizetési szintű funkciójelzőjét: "Microsoft.ContainerService/AzureVnetScalePreview".
Ha már rendelkezik fürtel, engedélyeznie kell a Container Insightst az IP-alhálózatok használatának monitorozásához. A Container Insightst a
az aks enable-addons
parancs 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>
Dinamikus IP-foglalási mód
A dinamikus IP-kiosztás segít a pod IP-címeinek kimerülésével kapcsolatos problémák megoldásában, ha a pod IP-címeit az AKS-fürtöt üzemeltető alhálózattól eltérő alhálózatból osztják ki.
A dinamikus IP-foglalási mód a következő előnyöket kínálja:
- Jobb IP-kihasználtság: Az IP-címek dinamikusan vannak lefoglalva a pod alhálózatából származó fürt podjaihoz. Ez a fürt IP-címeinek jobb kihasználtságát eredményezi a hagyományos CNI-megoldáshoz képest, amely minden csomóponthoz statikusan kiosztja az IP-címeket.
- Méretezhető és rugalmas: A csomópont- és pod-alhálózatok egymástól függetlenül méretezhetők. Egyetlen pod-alhálózat megosztható egy fürt több csomópontkészletén vagy több, ugyanabban a virtuális hálózaton üzembe helyezett AKS-fürtön. 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 kapcsolattal rendelkeznek a virtuális hálózat többi fürt podjaihoz és erőforrásaihoz. A megoldás a teljesítmény romlása nélkül támogatja a nagy méretű fürtöket.
- Különálló virtuálishálózat-házirendek podokhoz: Mivel a podok külön alhálózattal rendelkeznek, külön virtuális hálózati házirendeket konfigurálhat hozzájuk, amelyek eltérnek a csomópontszabályzatoktól. Ez számos hasznos forgatókönyvet tesz lehetővé, például lehetővé teszi az internetkapcsolatot csak a podok és nem a csomópontok számára, a csomópontkészletek podjának forrás IP-címét egy Azure NAT Gateway használatával, valamint hálózati biztonsági csoportok (NSG-k) használatával 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 a móddal működik.
IP-címkezelés tervezése
Dinamikus IP-kiosztással a csomópontok és podok egymástól függetlenül méretezhetők, így a címterek külön 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 fürt/csomópontkészlet rendszer podjai ip-címeket is kapnak a pod alhálózatáról, ezért ezt a viselkedést figyelembe kell venni.
Az IP-címek 16-os kötegekben vannak lefoglalva a csomópontokhoz. A pod alhálózati IP-lefoglalását csomópontonként legalább 16 IP-címmel kell megtervezni a fürtben, mivel a csomópontok indításkor 16 IP-címet kérnek, és egy másik 16-os köteget kérnek <, amikor 8 IP-cím nincs felszabadítva a kiosztásban.
A Kubernetes-szolgáltatások és a Docker-híd IP-címtervezése változatlan marad.
Statikus blokklefoglalási mód (előzetes verzió)
A statikus blokkok lefoglalása segít csökkenteni a pod alhálózatának lehetséges méretezési és Azure-címleképezési korlátait azáltal, hogy CIDR-blokkokat rendel a csomópontokhoz, nem pedig egyéni IP-címeket.
A statikus blokklefoglalási mód a következő előnyöket kínálja:
- Jobb IP-skálázhatóság: A CIDR-blokkok statikusan vannak lefoglalva a fürtcsomópontokhoz, és a csomópont teljes élettartama alatt jelen vannak, szemben a hagyományos CNI-vel rendelkező egyedi IP-címek hagyományos dinamikus lefoglalásával. Ez lehetővé teszi a CIDR-blokkok alapján történő útválasztást, és segít a fürtkorlát skálázásában a hagyományos 65K podok fürtnkénti 1 millió podjára. Az Azure-beli virtuális hálózatnak elég nagynak kell lennie ahhoz, hogy elférjen a fürt mérete.
- Rugalmasság: A csomópont- és pod-alhálózatok egymástól függetlenül méretezhetők. Egyetlen pod-alhálózat megosztható egy fürt több csomópontkészletén vagy több, ugyanabban a virtuális hálózaton üzembe helyezett AKS-fürtön. 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 kapcsolattal rendelkeznek a virtuális hálózat más fürt podjaihoz és erőforrásaihoz.
- Különálló virtuálishálózat-házirendek podokhoz: Mivel a podok külön alhálózattal rendelkeznek, külön virtuális hálózati házirendeket konfigurálhat hozzájuk, amelyek eltérnek a csomópontszabályzatoktól. Ez számos hasznos forgatókönyvet tesz lehetővé, például lehetővé teszi az internetkapcsolatot csak a podok és nem a csomópontok számára, a csomópontkészletek podjának forrás IP-címét egy Azure NAT-átjáró használatával, és NSG-k használatával szűri a csomópontkészletek közötti forgalmat.
- A Kubernetes hálózati szabályzatai: A Cilium, az Azure NPM és a Calico együttműködik ezzel a megoldással.
Korlátozások
Az alábbiakban néhány korlátozást talál az Azure CNI statikus blokkok lefoglalásának használatára:
- Minimális Kubernetes-verzió szükséges: 1.28
- A támogatott alhálózatok maximális mérete x.x.x.x/12 ~ 1 millió IP-cím
- Alhálózatonként csak egyetlen üzemmód használható. Ha egy alhálózat statikus blokklefoglalási módot használ, nem használható dinamikus IP-foglalási mód egy másik fürtben vagy csomópontkészletben ugyanazzal az alhálózattal, és fordítva.
- Csak új fürtökben támogatott, vagy ha egy másik alhálózattal rendelkező csomópontkészleteket ad hozzá a meglévő fürtökhöz. A meglévő fürtök vagy csomópontkészletek áttelepítése vagy frissítése nem támogatott.
- A csomópontkészlet egy csomóponthoz hozzárendelt összes CIDR-blokkban a rendszer egy IP-címet választ ki a csomópont elsődleges IP-címeként. Így az értéket kiválasztó
--max-pods
hálózati rendszergazdák az alábbi számítással próbálják a legjobban kiszolgálni az igényeket, és optimálisan használják az ip-címeket az alhálózatban:
max_pods = (N * 16) - 1
ahol N
minden pozitív egész szám és N
> 0
IP-címkezelés tervezése
A statikus blokkok lefoglalásával a csomópontok és podok egymástól függetlenül méretezhetők, így a címterek külön 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 fürt/csomópontkészlet rendszer podjai ip-címeket is kapnak a pod alhálózatáról, ezért ezt a viselkedést figyelembe kell venni.
A /28-ból (16 IP-címből) álló CIDR-blokkok a csomópontkészlet konfigurációja alapján --max-pods
vannak lefoglalva a csomópontokhoz, amely meghatározza a csomópontonkénti podok maximális számát. Minden csomóponton 1 IP-cím van fenntartva az adott csomóponton található összes rendelkezésre álló IP-címből belső célokra.
Az IP-címek tervezése során fontos, hogy a konfigurációt --max-pods
a következő számítással határozzuk meg: max_pods_per_node = (16 * N) - 1
ahol N
minden pozitív egész szám nagyobb, mint 0
.
Az IP-címhasználat nélküli ideális értékek esetében a podok maximális értékének meg kell felelnie a fenti kifejezésnek.
Lásd a következő példaeseteket:
Példa eset | max_pods |
Csomópontonként lefoglalt CIDR-blokkok | Podokhoz elérhető teljes IP-cím | IP-címelmaradás a csomóponthoz |
---|---|---|---|---|
Alacsony wastage (elfogadható) | 30 | 2 | (16 * 2) - 1 = 32 - 1 = 31 | 31 – 30 = 1 |
Ideális eset | 31 | 2 | (16 * 2) - 1 = 32 - 1 = 31 | 31 – 31 = 0 |
Magas wastage (nem ajánlott) | 32 | 3 | (16 * 3) - 1 = 48 - 1 = 47 | 47 - 32 = 15 |
A Kubernetes-szolgáltatások IP-címének tervezése változatlan marad.
Feljegyzés
Győződjön meg arról, hogy a virtuális hálózat elég nagy és összefüggő címtérrel rendelkezik a fürt méretezésének támogatásához.
Azure Kubernetes Service