Mi az Application Gateway Ingress Controller?

Az Application Gateway Ingress Controller (AGIC) egy Kubernetes-alkalmazás, amely lehetővé teszi az Azure Kubernetes Service (AKS) fürtök számára a natív Azure Application Gateway L7 terheléselosztó használatát a munkaterhelések internetes elérhetővé tételéhez. Az AGIC figyeli az általa üzemeltetett Kubernetes-fürtöt, és folyamatosan frissíti az Application Gatewayt, hogy a kiválasztott szolgáltatások elérhetők legyenek az interneten.

Az Ingress vezérlő a saját podjában fut az AKS-fürtön. Az AGIC a Kubernetes-erőforrások egy részét figyeli a módosításokhoz. Az AKS-fürt állapota Application Gateway-specifikus konfigurációra lesz alakítva, majd alkalmazva lesz az Azure Resource Manager (ARM)-re.

Ebben a cikkben megismerheti az AGIC előnyeit, az üzembe helyezési lehetőségeket (Helm és AKS bővítmény), valamint a támogatott tárolóhálózat-konfigurációkat.

Tipp

Fontolja meg az Application Gateway for Containers használatát a Kubernetes bejövő megoldásához. További információkért lásd: Rövid útmutató: Az Application Gateway telepítése konténeres ALB-vezérlőhöz.

Az Application Gateway bejövőforgalom-vezérlőjének előnyei

Az AGIC segít kiküszöbölni annak szükségességét, hogy egy másik terheléselosztót vagy nyilvános IP-címet kelljen használni az AKS-fürt előtt. Elkerüli a többszöri ugrást az adatútvonalon, mielőtt a kérések elérik az AKS-fürtöt. Az Application Gateway közvetlenül a privát IP-címükkel kommunikál a podokkal, és nem igényel NodePort- vagy KubeProxy-szolgáltatásokat. Ez a funkció jobb teljesítményt is biztosít a telepítések számára.

A Ingress Controllert csakis a Standard_v2 és a WAF_v2 SKU-k támogatják, amelyek lehetővé teszik az automatikus skálázás előnyeit. Az Application Gateway reagálhat a forgalom terhelésének növekedésére vagy csökkenésére, és ennek megfelelően méretezhető anélkül, hogy az AKS-fürtből bármilyen erőforrást használ.

Az Application Gateway használata az AGIC mellett TLS-szabályzat és Web Application Firewall (WAF) funkciók biztosításával is segít megvédeni az AKS-fürtöt.

Az internetről az Application Gateway-en keresztül az AGIC-kel ellátott AKS-fürtbe áramló forgalmat bemutató ábra.

Az AGIC a Kubernetes Ingress erőforrásán keresztül van konfigurálva, a szolgáltatások és üzembe helyezések/podok mellett. A Natív Azure Application Gateway L7 terheléselosztó használatával az AGIC a következő funkciókat biztosítja:

  • URL-útválasztás
  • Cookie-alapú affinitás
  • TLS-visszafejtés
  • Teljes útvonalú TLS
  • Nyilvános, privát és hibrid webhelyek támogatása
  • Integrált webalkalmazási tűzfalszolgáltatás

Figyelmeztetés

Alapértelmezés szerint az AGIC feltételezi a társított Application Gateway teljes tulajdonjogát. Az AGIC felülírja az összes meglévő Application Gateway-konfigurációt, amely nincs definiálva a Kubernetes Ingressz erőforrásokban. Az AGIC engedélyezésekor a rendszer eltávolítja vagy lecseréli az Application Gatewayen korábban konfigurált figyelőket, háttérkészleteket, szabályokat vagy egyéb beállításokat. Mielőtt engedélyezi az AGIC-t egy meglévő Application Gatewayen, biztonsági másolatot készíthet az Application Gateway konfigurációjáról úgy, hogy exportálja a sablont a Azure portálról. További információ: Az Application Gateway központi telepítésének biztonsági mentése.

Ha az AGIC-nek együtt kell működnie a meglévő Application Gateway-konfigurációkkal, olvassa el az megosztott Application Gateway-telepítés beállítását (csak Helm esetén).

A Helm üzembe helyezése és az AKS-bővítmény közötti különbség

Az AGIC-t üzembe helyezheti az AKS-fürtön a Helm vagy az AKS bővítményként való használatával. Az AGIC AKS-bővítményként való üzembe helyezésének elsődleges előnye, hogy egyszerűbb, mint a Helmen keresztüli üzembe helyezés. Új beállítás esetén üzembe helyezhet egy új Application Gatewayt és egy új AKS-fürtöt, amelyben az AGIC engedélyezve van bővítményként az Azure CLI egy sorában. A bővítmény egy teljes mértékben felügyelt szolgáltatás is, amely további előnyöket biztosít, például az automatikus frissítéseket és a nagyobb támogatást. Az AGIC (Helm és AKS bővítmény) üzembe helyezésének mindkét módját teljes mértékben támogatja a Microsoft. Emellett a bővítmény jobb integrációt tesz lehetővé az AKS-sel első osztályú bővítményként.

Bár az AGIC-bővítményt podként helyezi üzembe az AKS-fürtön, a Helm üzembe helyezési verziója és az AGIC bővítményverziója között van néhány különbség. Az alábbi lista a különbségeket emeli ki:

  • A Helm üzembehelyezési értékei nem módosíthatók az AKS-bővítményen:
    • verbosityLevel alapértelmezés szerint 5 értékre van állítva
    • usePrivateIp alapértelmezés szerint false (hamis) értékre van állítva; ezt a beállítást a use-private-ip annotáció használatával írhatja felül
    • A shared nem támogatott a bővítményen.
    • A reconcilePeriodSeconds nem támogatott a bővítményen.
    • A armAuth.type nem támogatott a bővítményen.
  • A Helmen keresztül üzembe helyezett AGIC támogatja a Tiltotttargeteket, ami azt jelenti, hogy az AGIC konfigurálhatja az Application Gatewayt kifejezetten AKS-fürtökhöz anélkül, hogy hatással lenne más meglévő háttérrendszerekre. Az AGIC-bővítmény jelenleg nem támogatja ezt a képességet.
  • Mivel az AGIC-bővítmény egy felügyelt szolgáltatás, automatikusan megkapja az AGIC-bővítmény legújabb verziójának frissítéseit. Ezzel szemben, ha az AGIC-t a Helmen keresztül telepíti, manuálisan kell frissítenie az AGIC-t.

Feljegyzés

AKS-fürtönként csak egy AGIC-bővítményt helyezhet üzembe, és minden AGIC-bővítmény jelenleg csak egy Application Gatewayt célozhat meg. Azoknál az üzemelő példányoknál, amelyek fürtönként több AGIC-t vagy egy Application Gatewayt megcélzó több AGI-t igényelnek, használja a Helmen keresztül üzembe helyezett AGIC-t.

A Helm és az AGIC bővítmény sem támogatja az ExternalName szolgáltatást.

Kontejnerhálózatok és AGIC

Az Application Gateway bejövőforgalom-vezérlője az alábbi AKS-hálózati ajánlatokat támogatja:

  • Kubenet
  • CNI
  • CNI-átfedés

Azure CNI és Azure CNI Overlay a két ajánlott lehetőség az Application Gateway Ingress Controller számára. Hálózati modell kiválasztásakor vegye figyelembe az egyes CNI beépülő modulok használati eseteit és az általa használt hálózati modell típusát:

CNI beépülő modul Hálózatkezelési modell Használati esetek kiemelései
Azure CNI Overlay Átfedő réteg - A legjobb a virtuális hálózat IP-címének megőrzéséhez
– Az API Server által támogatott csomópontok maximális száma + 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 Lapos – Közvetlen külső podhozzáférés
- Módok a virtuális hálózat hatékony IP-használatának és nagy fürtméretű támogatásához
Azure CNI-csomópont alhálózat Lapos – Közvetlen külső podhozzáférés
- Egyszerűbb konfiguráció
- Korlátozott skálázás
- A virtuális hálózati IP-címek nem hatékony használata

Amikor az Application Gateway for Containerst olyan fürtbe építi be, amelyben engedélyezve van a CNI átfedése vagy a CNI, az Application Gateway for Containers automatikusan észleli a kívánt hálózati konfigurációt. A CNI Overlay vagy a CNI megadásához nem kell módosítania a Gateway vagy az Ingress API konfigurációját.

Ha Azure CNI-átfedést használ, vegye figyelembe a következő korlátozásokat:

  • AGIC-vezérlő: A CNI-átfedés kihasználásához az 1.9.1-es vagy újabb verziót kell futtatnia.
  • Alhálózat mérete: Az Application Gateway alhálózatának legfeljebb /24 előtagnak kell lennie; alhálózatonként csak egy üzemelő példány támogatott.
  • Alhálózat-delegálás: Az Application Gateway alhálózatának rendelkeznie kell a Microsoft.Network/applicationGateways alhálózat-delegálásával.
  • Regionális virtuális hálózatok közötti társviszony-létesítés: Az Application Gateway nem helyezhető üzembe egy régióban lévő virtuális hálózaton, valamint az AKS-fürtcsomópontokon ugyanabban a régióban lévő virtuális hálózaton.
  • Globális virtuális hálózati peering: Az Application Gateway nem helyezhető üzembe egy virtuális hálózaton az egyik régióban, miközben az AKS-fürt csomópontok egy másik régió virtuális hálózatában vannak.
  • Az Azure CNI-átfedés az Application Gateway Ingress vezérlővel nem támogatott az Azure Government felhőben, sem a Microsoft Azure-ben, amelyet a 21Vianet üzemeltet (Azure Kínában).

Feljegyzés

Az Application Gateway bejövőforgalom-vezérlője automatikusan észleli az AKS-fürt hálózati kubenetről vagy CNI-ről CNI Overlay-re való frissítését. Ütemezze a frissítést egy karbantartási időszak alatt, mivel forgalmi fennakadások léphetnek fel. A vezérlő a klaszterfrissítés után néhány percet is igénybe vehet a CNI Overlay támogatásának észleléséhez és konfigurálásához.

Figyelmeztetés

A frissítés előtt győződjön meg arról, hogy az Application Gateway alhálózata /24-es vagy kisebb alhálózat. A CNI-ről a nagyobb alhálózattal (például /23) rendelkező CNI-átfedésre való frissítés kimaradáshoz vezet, és megköveteli, hogy az Application Gateway alhálózatát egy támogatott alhálózatmérettel hozza létre újra.

Következő lépések