Megosztás a következőn keresztül:


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 a aks-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) - 1ahol 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.