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


AKS örökölt tárolóhálózati adapterek (CNI)

Az Azure Kubernetes Service-ben (AKS), míg az Azure CNI Overlay és az Azure CNI Pod Subnet használata a legtöbb forgatókönyv esetében ajánlott, az örökölt hálózati modellek, például az Azure CNI-csomópont alhálózata és a kubenet továbbra is elérhetők és támogatottak. Ezek az örökölt modellek különböző megközelítéseket kínálnak a pod IP-címkezeléséhez és hálózatkezeléséhez, mindegyik saját képességekkel és szempontokkal rendelkezik. Ez a cikk áttekintést nyújt ezekről az örökölt hálózatkezelési lehetőségekről, részletesen ismerteti az előfeltételeket, az üzembehelyezési paramétereket és a főbb jellemzőket, amelyek segítenek megérteni a szerepköreiket, és hogy hogyan használhatók hatékonyan az AKS-fürtökben.

Előfeltételek

Az Azure CNI-csomópont alhálózatához és a kubenethez a következő előfeltételek szükségesek:

  • 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
    • Microsoft.Authorization/roleAssignments/write
  • 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.

Feljegyzés

A Kubenet nem érhető el Windows Server-tárolókhoz. A Windows Server-csomópontkészletek használatához az Azure CNI-t kell használnia.

Azure CNI-csomópont alhálózata

Az Azure Container Networking Interface (CNI) használatával minden pod egy IP-címet kap az alhálózatról, és közvetlenül elérhető. Az AKS-fürttel azonos virtuális hálózaton futó rendszerek a pod felől érkező bármilyen forgalom forráscímeként a pod IP-címét látják. Az AKS-fürt virtuális hálózatán kívüli rendszerek a csomópont IP-címét látják a podról érkező forgalom forráscímeként. Ezeknek az IP-címeknek egyedinek kell lenniük a hálózati térben, és előre meg kell tervezni. Minden csomópont rendelkezik egy konfigurációs paraméterrel a támogatott podok maximális számához. A csomópontonkénti IP-címek egyenértékű száma ezután előre lefoglalva lesz az adott csomópont számára. Ez a megközelítés több tervezést igényel, és gyakran az IP-címek kimerüléséhez vagy a fürtök nagyobb alhálózatban való újraépítéséhez vezet az alkalmazás igényeinek növekedésével.

Az Azure CNI-csomópont alhálózatával minden pod egy IP-címet kap az IP-alhálózatban, és közvetlenül kommunikálhat más podokkal és szolgáltatásokkal. A fürtök olyan nagyok lehetnek, mint a megadott IP-címtartomány. Azonban előre meg kell terveznie az IP-címtartományt, és az összes IP-címet az AKS-csomópontok a támogatott podok maximális száma alapján fogják használni. Az Azure CNI támogatja az olyan speciális hálózati funkciókat és forgatókönyveket, mint a virtuális csomópontok vagy a hálózati szabályzatok (az Azure vagy a Calico).

Üzembehelyezési paraméterek

AKS-fürt létrehozásakor az alábbi paraméterek konfigurálhatók az Azure CNI hálózatkezeléséhez:

Virtuális hálózat: Az a virtuális hálózat, amelyben telepíteni szeretné a Kubernetes-fürtöt. Létrehozhat egy új virtuális hálózatot, vagy használhat egy meglévőt. Ha meglévő virtuális hálózatot szeretne használni, győződjön meg arról, hogy az ugyanabban a helyen és Azure-előfizetésben van, mint a Kubernetes-fürt. Az Azure-beli virtuális hálózatok korlátaival és kvótáival kapcsolatos információkért tekintse meg az Azure-előfizetések és -szolgáltatások korlátait, kvótáit és korlátozásait.

Alhálózat: A virtuális hálózat azon alhálózata, ahol telepíteni szeretné a fürtöt. A fürtlétrehozási folyamat során új alhálózatokat vehet fel a virtuális hálózatba. Hibrid kapcsolat esetén a címtartománynak nem szabad átfedésben lennie a környezet többi virtuális hálózatával.

Azure Hálózati beépülő modul: Az Azure hálózati beépülő modul használata esetén a belső LoadBalancer szolgáltatás a "externalTrafficPolicy=Local" használatával nem érhető el olyan virtuális gépekről, amelyek IP-címmel rendelkeznek a clusterCIDR-ben, amely nem tartozik az AKS-fürthöz.

Kubernetes-szolgáltatás címtartománya: Ez a paraméter azoknak a virtuális IP-címeknek a készlete, amelyeket a Kubernetes hozzárendel a fürt belső szolgáltatásaihoz . Ez a tartomány nem frissíthető a fürt létrehozása után. Bármilyen olyan magáncímtartományt használhat, amely megfelel az alábbi követelményeknek:

  • Nem lehet a fürt virtuális hálózati IP-címtartományában.
  • Nem lehet átfedésben más olyan virtuális hálózatokkal, amelyekkel a fürt virtuális hálózati társhálózatai vannak.
  • Nem lehetnek átfedésben a helyszíni IP-címekkel.
  • Nem lehet a tartományon 169.254.0.0/16172.30.0.0/16belül , vagy 172.31.0.0/16192.0.2.0/24.

Bár megadhat egy szolgáltatáscímtartományt ugyanazon a virtuális hálózaton belül, mint a fürt, nem javasoljuk. Az átfedésben lévő IP-tartományok kiszámíthatatlan viselkedést eredményezhetnek. További információt a gyakori kérdések között talál. További információ a Kubernetes-szolgáltatásokról: Szolgáltatások a Kubernetes dokumentációjában.

Kubernetes DNS-szolgáltatás IP-címe: A fürt DNS-szolgáltatásának IP-címe. A címnek a Kubernetes szolgáltatási címtartományába kell tartoznia. Ne használja az első IP-címet a címtartományban. Az alhálózattartomány első címe a kubernetes.default.svc.cluster.local címhez használatos.

Kubenet

Az AKS-fürtök kubenetet használnak, és alapértelmezés szerint létrehoznak egy Azure-beli virtuális hálózatot és alhálózatot. A kubenet használata esetén a csomópontok az Azure-beli virtuális hálózat alhálózatáról kapnak IP-címet. A podok IP-címe a csomópontok Azure-beli virtuális hálózati alhálózatától logikailag eltérő címtérből származik. A hálózati címfordítás (NAT) ezután konfigurálva van, hogy a podok elérjék az Azure-beli virtuális hálózat erőforrásait. A forgalom forrás IP-címe a nat'd a csomópont elsődleges IP-címére. Ez a megközelítés jelentősen csökkenti a podok használatához szükséges ip-címek számát a hálózati térben.

A fürtlétrehozáskor vagy új csomópontkészletek létrehozásakor konfigurálhatja a csomópontokon üzembe helyezhető maximális podokat. Ha nem adja meg maxPods az új csomópontkészletek létrehozásakor, a kubenet alapértelmezett értéke 110 lesz.

A kubenet saját alhálózattal való hálózatkezelésének áttekintése

Számos környezetben meghatározott virtuális hálózatokat és alhálózatokat lefoglalt IP-címtartományokkal, és ezeket az erőforrásokat több szolgáltatás és alkalmazás támogatására használja. A hálózati kapcsolat biztosításához az AKS-fürtök használhatják a kubenetet (alapszintű hálózatkezelés) vagy az Azure CNI-t (speciális hálózatkezelés).

A kubenettel csak a csomópontok kapnak IP-címet a virtuális hálózati alhálózatban. A podok nem tudnak közvetlenül kommunikálni egymással. Ehelyett a felhasználó által definiált útválasztás (UDR) és az IP-továbbítás kezeli a csomópontok közötti podok közötti kapcsolatot. Az UDR-eket és az IP-továbbítási konfigurációt alapértelmezés szerint az AKS szolgáltatás hozza létre és tartja karban, de igény szerint saját útvonaltáblát is használhat az egyéni útvonalkezeléshez. Podokat is üzembe helyezhet egy olyan szolgáltatás mögött, amely hozzárendelt IP-címet kap, és terheléselosztást biztosít az alkalmazás forgalmának. Az alábbi ábra azt mutatja be, hogy az AKS-csomópontok hogyan kapnak IP-címet a virtuális hálózati alhálózatban, a podokban azonban nem:

Két csomópontot ábrázoló diagram, amelyek mindegyike három podgal rendelkezik, amelyek mindegyike átfedéses hálózaton fut. A fürtön kívüli végpontokra történő podforgalom NAT-on keresztül van irányítva.

egy UDR-ben legfeljebb 400 útvonalat Azure-támogatás, így nem lehet 400 csomópontnál nagyobb AKS-fürt. A kubenet nem támogatja az AKS virtuális csomópontokat és az Azure Network Policiest. A Calico hálózati házirendjei támogatottak.

A kubenet korlátozásai és szempontjai

Feljegyzés

Egyes rendszer podok, például a fürtön belüli konnectivity a gazdacsomópont IP-címét használják, nem pedig az átfedéses címtérből származó IP-címet. A rendszer podjai csak a csomópont IP-címét használják, a virtuális hálózatról származó IP-címet nem.

IP-cím rendelkezésre állása és kimerültsége

Az Azure CNI-vel kapcsolatos gyakori probléma, hogy a hozzárendelt IP-címtartomány túl kicsi ahhoz, hogy több csomópontot adjon hozzá a fürt méretezése vagy frissítése során. Előfordulhat, hogy a hálózati csapat nem tud elég nagy IP-címtartományt kibocsátani a várt alkalmazásigények kielégítéséhez. Kompromisszumként létrehozhat egy olyan AKS-fürtöt, amely kubenetet használ, és egy meglévő virtuális hálózati alhálózathoz csatlakozik. Ez a módszer lehetővé teszi, hogy a csomópontok meghatározott IP-címeket kapjanak anélkül, hogy nagy számú IP-címet kellene lefoglalni a fürtben futtatható lehetséges podok számára.

A Kubenet használatával sokkal kisebb IP-címtartományt használhat, és nagy fürtöket és alkalmazásigényeket támogathat. Ha például egy /27 IP-címtartomány van az alhálózaton, futtathat egy 20–25 csomópontos fürtöt, amely elegendő helyet biztosít a méretezéshez vagy a frissítéshez. Ez a fürtméret legfeljebb 2200–2750 podot támogat (csomópontonként alapértelmezetten legfeljebb 110 pod). Az AKS-ben a kubenettel konfigurálható podok maximális száma csomópontonként 250.

Az alábbi alapszámítások a hálózati modellek különbségét hasonlítják össze:

  • kubenet: Egy egyszerű /24 IP-címtartomány legfeljebb 251 csomópontot támogat a fürtben. Minden Azure-beli virtuális hálózati alhálózat fenntartja az első három IP-címet a felügyeleti műveletekhez. Ez a csomópontszám legfeljebb 27 610 podot támogat, csomópontonként alapértelmezetten legfeljebb 110 podot.
  • Azure CNI: Ugyanez az alapszintű /24 alhálózati tartomány legfeljebb 8 csomópontot támogat a fürtben. Ez a csomópontszám legfeljebb 240 podot támogat, csomópontonként alapértelmezetten legfeljebb 30 podot.

Feljegyzés

Ezek a maximumok nem veszik figyelembe a frissítési és méretezési műveleteket. A gyakorlatban nem futtatható az alhálózati IP-címtartomány által támogatott csomópontok maximális száma. A skálázási vagy frissítési műveletekhez néhány IP-címet el kell hagynia.

Virtuális hálózatok közötti társviszony-létesítés és ExpressRoute-kapcsolatok

Az Azure-beli virtuális hálózatok közötti társviszony-létesítés vagy az ExpressRoute-kapcsolatok az Azure CNI-vel és a Kubenettel helyszíni kapcsolat biztosításához használhatók. Ügyeljen arra, hogy gondosan megtervezze az IP-címeket az átfedés és a helytelen forgalom útválasztásának megakadályozása érdekében. Számos helyszíni hálózat például az ExpressRoute-kapcsolaton keresztül meghirdetett 10.0.0.0/8 címtartományt használja. Javasoljuk, hogy hozzon létre AKS-fürtöket a címtartományon kívüli Azure-beli virtuális hálózati alhálózatokban, például 172.16.0.0/16.

További információt a hálózati modellek és azok támogatási hatóköreinek összehasonlítása című témakörben talál.

Azure CNI Pod Subnet – gyakori kérdések

  • Üzembe helyezhetek virtuális gépeket a fürt alhálózatán?

    Igen az Azure CNI-csomópont alhálózata esetében a virtuális gépek ugyanabban az alhálózatban telepíthetők, mint az AKS-fürt.

  • Milyen forrás IP-címet látnak a külső rendszerek az Azure CNI-kompatibilis podból származó forgalomhoz?

    Az AKS-fürttel azonos virtuális hálózaton futó rendszerek a pod felől érkező bármilyen forgalom forráscímeként a pod IP-címét látják. Az AKS-fürt virtuális hálózatán kívüli rendszerek a csomópont IP-címét látják a podról érkező forgalom forráscímeként. Az Azure CNI dinamikus IP-kiosztása esetén azonban nem számít, hogy a kapcsolat ugyanazon a virtuális hálózaton belül van vagy virtuális hálózatok közötti, a pod IP-címe mindig a podról érkező forgalom forráscíme. Ennek az az oka, hogy a dinamikus IP-foglaláshoz készült Azure CNI implementálja a Microsoft Azure Container Networking infrastruktúrát, amely a végpontok közötti élményt nyújtja. Ezért megszünteti a hagyományos Azure CNI által még mindig használt használatot ip-masq-agent.

  • Konfigurálhatok podonkénti hálózati házirendeket?

    Igen, a Kubernetes hálózati szabályzata elérhető az AKS-ben. Első lépésként tekintse meg a podok közötti adatforgalom biztonságossá tételét az AKS hálózati szabályzatainak használatával.

  • Konfigurálható a csomópontokon üzembe helyezhető podok maximális száma?

    Az AKS-fürtök alapértelmezés szerint kubenetet használnak, és létrehoznak egy virtuális hálózatot és alhálózatot. A Kubenet használatával a csomópontok ip-címet kapnak egy virtuális hálózati alhálózatról. A hálózati címfordítás (NAT) ezután konfigurálva lesz a csomópontokon, és a podok "rejtett" IP-címet kapnak a csomópont IP-címe mögött. Ez a módszer csökkenti a podok használatához szükséges ip-címek számát a hálózati térben.

    Az Azure Container Networking Interface (CNI) használatával minden pod egy IP-címet kap az alhálózatról, és közvetlenül elérhető. Az AKS-fürttel azonos virtuális hálózaton futó rendszerek a pod felől érkező bármilyen forgalom forráscímeként a pod IP-címét látják. Az AKS-fürt virtuális hálózatán kívüli rendszerek a csomópont IP-címét látják a podról érkező forgalom forráscímeként. Ezeknek az IP-címeknek egyedinek kell lenniük a hálózati térben, és előre meg kell tervezni. Minden csomópont rendelkezik egy konfigurációs paraméterrel a támogatott podok maximális számához. A csomópontonkénti IP-címek egyenértékű száma ezután előre lefoglalva lesz az adott csomópont számára. Ez a megközelítés több tervezést igényel, és gyakran az IP-címek kimerüléséhez vagy a fürtök nagyobb alhálózatban való újraépítéséhez vezet az alkalmazás igényeinek növekedésével.

  • Üzembe helyezhetek virtuális gépeket a fürt alhálózatán?

    Igen. A dinamikus IP-kiosztáshoz használt Azure CNI esetében azonban a virtuális gépek nem helyezhetők üzembe a pod alhálózatán.

  • Milyen forrás IP-címet látnak a külső rendszerek az Azure CNI-kompatibilis podból származó forgalomhoz?

    Az AKS-fürttel azonos virtuális hálózaton futó rendszerek a pod felől érkező bármilyen forgalom forráscímeként a pod IP-címét látják. Az AKS-fürt virtuális hálózatán kívüli rendszerek a csomópont IP-címét látják a podról érkező forgalom forráscímeként.

    A dinamikus IP-kiosztáshoz használt Azure CNI esetében azonban nem számít, hogy a kapcsolat ugyanazon a virtuális hálózaton belül van vagy virtuális hálózatok közötti, a pod IP-címe mindig a podról érkező forgalom forráscíme. Ennek az az oka, hogy a dinamikus IP-foglaláshoz készült Azure CNI implementálja a Microsoft Azure Container Networking infrastruktúrát, amely a végpontok közötti élményt nyújtja. Ezért megszünteti a hagyományos Azure CNI által még mindig használt használatot ip-masq-agent.

  • Használhatok másik alhálózatot a fürt virtuális hálózatán belül a Kubernetes szolgáltatás címtartományához?

    Ez nem ajánlott, de ez a konfiguráció lehetséges. A szolgáltatáscímtartomány virtuális IP-címek (VIP-k) készlete, amelyeket a Kubernetes hozzárendel a fürt belső szolgáltatásaihoz. Az Azure Networking nem rendelkezik a Kubernetes-fürt szolgáltatás IP-tartományával. A fürt szolgáltatáscímtartományának láthatóságának hiánya problémákhoz vezethet. Később létrehozhat egy új alhálózatot a fürt virtuális hálózatában, amely átfedésben van a szolgáltatás címtartományával. Ilyen átfedés esetén a Kubernetes olyan IP-címet rendelhet a szolgáltatáshoz, amelyet az alhálózat egy másik erőforrása már használ, ami kiszámíthatatlan viselkedést vagy hibákat okoz. Ha biztosítja, hogy a fürt virtuális hálózatán kívüli címtartományt használjon, elkerülheti ezt az átfedési kockázatot. Igen, amikor üzembe helyez egy fürtöt az Azure CLI-vel vagy egy Resource Manager-sablonnal. Lásd: Csomópontonkénti podok maximális száma.

  • Használhatok másik alhálózatot a fürt virtuális hálózatán belül a Kubernetes szolgáltatás címtartományához?

    Ez nem ajánlott, de ez a konfiguráció lehetséges. A szolgáltatáscímtartomány virtuális IP-címek (VIP-k) készlete, amelyeket a Kubernetes hozzárendel a fürt belső szolgáltatásaihoz. Az Azure Networking nem rendelkezik a Kubernetes-fürt szolgáltatás IP-tartományával. A fürt szolgáltatáscímtartományának láthatóságának hiánya problémákhoz vezethet. Később létrehozhat egy új alhálózatot a fürt virtuális hálózatában, amely átfedésben van a szolgáltatás címtartományával. Ilyen átfedés esetén a Kubernetes olyan IP-címet rendelhet a szolgáltatáshoz, amelyet az alhálózat egy másik erőforrása már használ, ami kiszámíthatatlan viselkedést vagy hibákat okoz. Ha biztosítja, hogy a fürt virtuális hálózatán kívüli címtartományt használjon, elkerülheti ezt az átfedési kockázatot.