Az Azure Kubernetes Service (AKS) CNI hálózatkezelésének áttekintése

A Kubernetes a Container Networking Interface (CNI) beépülő modulokkal kezeli a Kubernetes-fürtök hálózatkezelését. A CNI beépülő modulok felelősek az IP-címek podokhoz való hozzárendeléséért, a podok közötti hálózati útválasztásért, a Kubernetes szolgáltatás útválasztásáért stb.

Az Azure Kubernetes Service (AKS) különböző CNI beépülő modulokat biztosít, amelyeket a hálózati követelményeknek megfelelően használhat a fürtökben.

Hálózati modellek az AKS-ben

A CNI beépülő modul kiválasztása az AKS-fürthöz nagyban függ attól, hogy melyik hálózati modell felel meg a legjobban az igényeinek. Minden modellnek megvannak a maga előnyei és hátrányai, amelyeket fontos figyelembe venni az AKS-fürt tervezésekor.

Az AKS két fő hálózati modellt használ:

  • Átfedési hálózat:

    • A virtuális hálózatok (VNetek) IP-címterének megőrzése a podok osztály nélküli Inter-Domain útválasztási (CIDR) tartományainak logikailag elkülönített használatával.
    • Maximális fürtméret-támogatást biztosít.
    • Az IP-címek egyszerű kezelését biztosítja.
  • Lapos hálózat:

    • Teljes virtuális hálózati kapcsolatot biztosít a podokhoz. A podok közvetlenül a csatlakoztatott hálózatokról származó privát IP-címükön keresztül érhetőek el.
    • A VNetekhez nagy, nem fragmentált IP-címtartomány szükséges.

Mindkét hálózati modell több támogatott CNI-beépülő modult is kínál. A modellek közötti fő különbségek abban rejlenek, hogyan rendelődnek hozzá a pod IP-címei, és hogyan hagyja el a forgalom a fürtöt.

Átfedő hálózatok

Az átfedéses hálózatkezelés a Kubernetesben leggyakrabban használt hálózati modell. Az overlay hálózatkezelés a podok IP-címeit egy, a VNetben lévő csomópont-alhálózattól elkülönülő pod CIDR-tartományból osztja ki. Ez a konfiguráció egyszerűbb és gyakran jobb méretezhetőséget tesz lehetővé, mint a lapos hálózati modell.

Átfedéses hálózatokban a podok közvetlenül kommunikálhatnak egymással. A fürtöt elhagyó forgalom forráshálózati címfordítást (SNAT) kap a csomópont IP-címére. A bejövő pod IP-forgalmát a rendszer egy szolgáltatáson, például terheléselosztón keresztül irányítja át. A pod IP-címe ezután elrejthető a csomópont IP-címe mögött. Ez a módszer csökkenti a fürtök virtuális hálózataihoz szükséges IP-címek számát.

Két csomópontot ábrázoló diagram, amelyek mindegyike három podból áll, amelyek átfedéses hálózaton futnak. A fürtön kívüli végpontokra történő podforgalom hálózati címfordítással lesz irányítva.

Az átfedéses hálózatkezeléshez az AKS biztosítja az Azure CNI Átfedés beépülő modult. Ezt a CNI beépülő modult a legtöbb forgatókönyvhöz ajánljuk.

Lapos hálózatok

Az átfedéses hálózatokkal ellentétben az AKS-ben egy lapos hálózati modell azonos Azure-beli virtuális hálózat egy alhálózatából rendeli a podok ip-címeit, amely virtuális hálózat az AKS csomópontok számára is biztosít kapcsolatot. A klasztereket elhagyó forgalom nem SNAT-olt, és a pod IP-címe közvetlenül a célhely számára van kitéve. Ez a megközelítés hasznos lehet bizonyos helyzetekben, például amikor pod IP-címeket kell elérhetővé tennie külső szolgáltatások számára.

Két csomópontot ábrázoló diagram, amelyek mindegyike három podból áll, amelyek egy lapos hálózati modellben futnak.

Az AKS két CNI beépülő modult biztosít a lapos hálózatkezeléshez:

  • Az Azure CNI Pod Subnet, az ajánlott CNI beépülő modul lapos hálózatkezelési forgatókönyvekhez.
  • Az Azure CNI node alhálózata, amely egy régi CNI-modell a lapos hálózatokhoz. Általában azt javasoljuk, hogy csak akkor használja, ha a fürtje számára felügyelt virtuális hálózatra van szüksége.

CNI beépülő modul kiválasztása

A CNI beépülő modul kiválasztásakor több tényezőt is figyelembe kell venni. Minden hálózati modellnek megvannak a maga előnyei és hátrányai. Az Ön fürtje számára a legjobb választás az Ön sajátos követelményeitől függ.

Használati eset összehasonlítása

CNI beépülő modul Hálózatkezelési modell Esetkiemelések használata
Azure CNI-rétegezés Overlay • A legjobb megoldás az IP-címek virtuális hálózatokhoz való megőrzéséhez
• Az API-kiszolgáló által támogatott csomópontok maximális száma és csomópontonként 250 pod
• Egyszerűbb konfiguráció
• Nincs közvetlen külső pod IP-hozzáférés
Azure CNI pod-alhálózat Flat • Közvetlen külső podhozzáférés
• A virtuális hálózatok hatékony IP-használatának módjai vagy nagy fürtméretű támogatás (előzetes verzió)
Kubenet (örökölt) Overlay • Az IP-védelem rangsorolása
• Korlátozott skálázás
• Manuális útvonalkezelés
Azure CNI-csomópont alhálózata (örökölt) Flat • Közvetlen külső podhozzáférés
• Egyszerűbb konfiguráció
• Korlátozott skálázás
• Az IP-címek nem hatékony használata virtuális hálózatokhoz

Funkciók összehasonlítása

Feature Azure CNI-rétegezés Azure CNI pod-alhálózat Azure CNI-csomópont alhálózata (örökölt) Kubenet (örökölt)
Fürt üzembe helyezése meglévő vagy új virtuális hálózatban Supported Supported Supported Manuális, felhasználó által megadott útvonalakkal (UDR-ekkel) támogatott
Kapcsolat a pod és a virtuális gép (VM) között, ahol a virtuális gép ugyanazon virtuális hálózaton vagy egy társított virtuális hálózaton van. Pod kezdeményezve Mindkét módszer Mindkét módszer Pod kezdeményezve
Helyszíni hozzáférés virtuális magánhálózaton (VPN) és Azure ExpressRoute-on keresztül Pod kezdeményezve Mindkét módszer Mindkét módszer Pod kezdeményezve
Hozzáférés a szolgáltatásvégpontokhoz Supported Supported Supported Supported
Szolgáltatások terheléselosztón keresztüli kitettsége Supported Supported Supported Supported
Szolgáltatások kitettsége az Azure Application Gateway bejövőforgalom-vezérlőn keresztül Supported Supported Supported Supported
Szolgáltatások kitettsége az Application Gateway for Containersen keresztül Supported Supported Supported Nem támogatott
Windows-csomópontkészletek Supported Supported Supported Nem támogatott
Alapértelmezett Azure DNS és privát zónák Supported Supported Supported Supported
Virtuális hálózati alhálózatok megosztása több fürt között Supported Supported Supported Nem támogatott

Támogatási hatókör a hálózati modellek között

A használt CNI beépülő modultól függően a fürt virtuális hálózati erőforrásait az alábbi módokon helyezheti üzembe:

  • A Azure platform automatikusan létrehozhatja és konfigurálhatja a virtuális hálózati erőforrásokat egy AKS-fürt létrehozásakor.
  • Az AKS-fürt létrehozásakor manuálisan hozhatja létre és konfigurálhatja a virtuális hálózati erőforrásokat, és csatolhatja őket ezekhez az erőforrásokhoz.

Bár az olyan képességek, mint a szolgáltatásvégpontok vagy az UDR-ek támogatottak, az AKS támogatási szabályzatai határozzák meg, hogy milyen módosításokat hajthat végre. Például:

  • Ha manuálisan hozza létre a virtuális hálózati erőforrásokat egy AKS-fürthöz, akkor a rendszer támogatja a saját UDR-ek vagy szolgáltatásvégpontok konfigurálásakor.
  • Ha az Azure-platform automatikusan létrehozza az AKS-fürt virtuális hálózati erőforrásait, nem módosíthatja manuálisan az AKS által felügyelt erőforrásokat a saját UDR-ek vagy szolgáltatásvégpontok konfigurálásához.

Prerequisites

Az AKS hálózati konfigurációjának tervezésekor tartsa szem előtt az alábbi követelményeket és szempontokat:

  • Az AKS-fürt virtuális hálózatának biztosítania kell a kimenő internetkapcsolat elérését.
  • Az AKS-fürtök nem használhatják a 169.254.0.0/16 vagy a 192.0.2.0/24 értéket címtartományként a Kubernetes-szolgáltatás, a podok vagy a fürt virtuális hálózatai számára. Emellett a Calico CNI-t használó AKS-fürtök nem használhatják a 172.30.0.0/16 vagy 172.31.0.0/16 címtartományokat.
  • Olyan esetekben, amikor saját virtuális hálózatot hoz létre, 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.Authorization/roleAssignments/write
    • Microsoft.Network/virtualNetworks/subnets/read (csak akkor szükséges, ha saját alhálózatokat és CIDR-eket definiál)
  • 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 biztosít, é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ókért tekintse meg az Azure hálózati biztonsági csoportjainak áttekintését.
  • A Container Network Service (CNS) egy csomópont helyi szolgáltatása az Azure Kubernetes Service CNI hálózatkezelésén belül, amely podokhoz rendeli, követi és programozza a hálózatkezelést. Ez az összetevő alapértelmezés szerint telemetriai adatokat (metrikákat és naplókat) küld a fürtön kívülre, egy Microsoft által felügyelt Application Insights-végpontra, a podhálózat IP-cím-hozzárendelési problémáinak gyorsabb hibaelhárítása érdekében.