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


Application Gateway for Containers összetevők

Ez a cikk részletes leírásokat és követelményeket tartalmaz az Application Gateway for Containers összetevőire vonatkozóan. Ismerteti, hogyan fogadja el az Application Gateway for Containers a bejövő kéréseket, és hogyan irányítja őket egy háttérbeli célhoz. A tárolókhoz készült Application Gateway általános áttekintését az Application Gateway for Containers ismertetése tartalmazza.

Alapösszetevők

  • Az Application Gateway for Containers-erőforrás egy azure-beli szülőerőforrás, amely üzembe helyezi a vezérlősíkot.
  • A vezérlősík az ügyfél szándéka alapján vezényli a proxykonfigurációt.
  • Az Application Gateway for Containers két gyermekerőforrással rendelkezik: társításokkal és előtérekkel.
    • A gyermekerőforrások kizárólag a konténeres Application Gateway for Containers szülőerőforrásaihoz tartoznak, és nem oszthatók meg más Application Gateway for Containers erőforrásokkal.

Application Gateway for Containers előtérbeli

  • Az Application Gateway for Containers előtérbeli erőforrása az Application Gateway for Containers szülőerőforrásának Azure-gyermekerőforrása.
  • A konténerekhez készült Application Gateway frontend határozza meg, hogy az ügyfélforgalom milyen belépési pontot használ egy adott Application Gateway for Containers esetében.
    • Egy frontend nem társítható egynél több Application Gateway for Containers eszközhöz.
    • CNAME rekordot az egyes front-endek által biztosított egyedi teljes tartománynevekkel (FQDN) hozhat létre.
    • A privát IP-címek jelenleg nem támogatottak.
  • Egyetlen Konténer Alkalmazás-átjáró több frontendet is támogat.

Alkalmazás átjáró a konténerekhez társítások

  • Az Application Gateway for Containers társított erőforrása az Azure Application Gateway for Containers szülőerőforrás gyermekerőforrása.
  • Az Application Gateway for Containers társítás meghatározza egy virtuális hálózat kapcsolódási pontját. A társítás egy társítási erőforrás és egy delegált Azure-alhálózat közötti 1:1 leképezést jelenti.
  • Az Application Gateway for Containers úgy lett tervezve, hogy többféle társítást is lehetővé tegyen.
    • Jelenleg a társítások száma legfeljebb 1 lehet.
  • Társítás létrehozásakor a mögöttes adatsík ki van építve, és egy alhálózathoz csatlakozik a meghatározott virtuális hálózat alhálózatán belül.
  • Minden társításnak feltételeznie kell, hogy legalább 256 cím érhető el az alhálózatban a kiépítéskor.
    • Legalább /24 alhálózati maszk minden telepítéshez (feltéve, hogy az alhálózaton korábban nincsenek erőforrások kiépítve).
      • Ha több Olyan Application Gatewayt szeretne üzembe helyezni a tárolókhoz, amelyek azonos alhálózattal osztoznak, számítsa ki a szükséges címeket az n×256 értékével, ahol n egyenlő a Tárolókhoz készült Application Gateway-erőforrások számával. Ez feltételezi, hogy mindegyik egy társításból áll.
    • A tárolókhoz készült Application Gateway for Containers összes társító erőforrásának ugyanabban a régióban kell lennie, mint az Application Gateway for Containers szülőerőforrásának.

Alkalmazás átjáró konténerhez ALB Controller

  • A Tárolókhoz készült Application Gateway ALB-vezérlő egy Kubernetes telepítés, amely az Application Gateway for Containers konfigurálását és üzembe helyezését vezényli azáltal, hogy figyeli a Kubernetes egyéni erőforrásait és erőforrás-konfigurációit, például az Ingress, az Átjáró és az ApplicationLoadBalancer elemeket. Arm és Application Gateway for Containers konfigurációs API-kat is használ a konfiguráció propagálásához az Application Gateway for Containers Azure üzembe helyezéséhez.
  • Helm használatával helyezd üzembe vagy telepítsd az ALB-vezérlőt.
  • Az ALB-vezérlő két működő podból áll.
    • Az alb-controller pod vezényli az ügyfél szándékát az Application Gateway for Containers terheléselosztási konfigurációjában.
    • Az alb-controller-bootstrap pod kezeli a CRD-ket.

Az Application Gateway for Containers biztonsági szabályzata

  • Az Application Gateway for Containers biztonsági szabályzata az ALB-vezérlő által használandó biztonsági konfigurációkat (például WAF) határozza meg.
  • Egyetlen Application Gateway for Containers-erőforrás több biztonsági szabályzatra is hivatkozhat.
  • Jelenleg az egyetlen biztonsági szabályzattípus a waf webalkalmazási tűzfal képességeire vonatkozik.
  • A waf biztonsági szabályzat a biztonsági szabályzat erőforrása és egy webalkalmazási tűzfalszabályzat közötti egy-az-egyhez megfeleltetés.
    • Egy definiált Application Gateway for Containers-erőforráshoz tetszőleges számú biztonsági szabályzatban csak egy webalkalmazási tűzfalszabályzatra hivatkozhat.

Application Gateway for Containers AKS felügyelt bővítmény

Az Application Gateway for Containers-hez készült AKS bővítmény biztosítja az AKS által felügyelt üzembe helyezési élményt az ALB-vezérlő számára, így nincs szükség a helm chart manuális üzembe helyezésére.

A felügyelt bővítmény használatának előnyei a helm alapján történő üzembe helyezéssel szemben:

  • Felügyelt frissítések: Nincs szükség a Helm-diagramok manuális frissítésére; frissítéseket az AKS felügyeli.
  • Automatizált identitáskezelés: A bővítmény automatikusan létrehozza és konfigurálja a felügyelt identitást (applicationloadbalancer-<cluster-name>) a szükséges engedélyekkel.
  • Egyszerűsített alhálózat-konfiguráció: A megfelelő delegálással automatikusan kiépül egy dedikált alhálózat (aks-appgateway).
  • Csökkentett konfigurációs összetettség: Nincs szükség az összevont hitelesítő adatok vagy szerepkör-hozzárendelések manuális beállítására.
  • Az AKS automatikus támogatása: Az AKS Automatikus fürtök használatakor bővítménytelepítésre van szükség.

Az Azure/általános fogalmak

Magánhálózati IP-cím

  • A privát IP-címek nincsenek explicit módon definiálva Azure Resource Manager-erőforrásként. A magánhálózati IP-címek egy adott virtuális hálózat alhálózatán belüli adott gazdagépcímre utalnak.

Alhálózat delegálása

  • A Microsoft.ServiceNetworking/trafficControllers az Application Gateway for Containers által elfogadott névtér, amelyet delegálhat egy virtuális hálózat alhálózatára.
  • A delegáláskor nem hoz létre Application Gateway for Containers erőforrásokat, és nincs kizárólagos hozzárendelés az Application Gateway for Containers társítási erőforrásához.
  • Tetszőleges számú alhálózat rendelkezhet olyan alhálózat-delegálással, amely megegyezik vagy eltér a tárolókhoz készült Application Gateway-hez. A definiálás után nem építhet ki más erőforrásokat az alhálózatba, kivéve, ha a szolgáltatás implementációja kifejezetten meghatározza.

Felhasználó által hozzárendelt felügyelt identitás

  • Az Azure-erőforrások felügyelt identitásai nem igénylik a hitelesítő adatok kódban való kezelését.
  • A tárolókhoz készült Application Gateway módosításához minden Azure Load Balancer-vezérlőhöz szükség van egy felhasználó által hozzárendelt felügyelt identitásra.
  • Az AppGw for Containers Configuration Manager egy beépített RBAC-szerepkör, amely lehetővé teszi az ALB-vezérlő számára az Application Gateway for Containers erőforrás elérését és konfigurálását.

Megjegyzés:

Az AppGw for Containers Configuration Manager szerepkör olyan adatműveleti engedélyekkel rendelkezik, amelyekkel a tulajdonosi és közreműködői szerepkörök nem rendelkeznek. Fontos, hogy megfelelő engedélyeket delegáljon annak érdekében, hogy az ALB-vezérlő ne módosítsa az Application Gateway for Containers szolgáltatást.

Hogyan fogadja az Application Gateway a konténerekhez érkezett kéréseket

Minden Application Gateway for Containers előtér egy generált, teljes tartománynevet biztosít, amelyet az Azure kezel. Használhatja a teljes tartománynevet (FQDN) változtatás nélkül, vagy maszkolhatja egy CNAME rekorddal.

Mielőtt egy ügyfél kérést küld az Application Gateway for Containersnek, az ügyfél felold egy CNAME-t, amely az előtérbeli teljes tartománynévre mutat, vagy az ügyfél közvetlenül egy DNS-kiszolgáló használatával oldja fel az Application Gateway for Containers által biztosított teljes tartománynevet.

A DNS-feloldó lefordítja a DNS-rekordot egy IP-címre.

Amikor az ügyfél kezdeményezi a kérést, a megadott DNS-név állomásfejlécként lesz átadva a megadott előtéren lévő Application Gateway for Containersnek.

Az útválasztási szabályok halmaza kiértékeli, hogyan kell kezdeményezni az adott gazdagépnévre vonatkozó kérést egy meghatározott háttérbeli cél felé.

Hogyan irányítja a kérést az Application Gateway for Containers?

HTTP/2 kérelmek

Az Application Gateway for Containers http/2 és HTTP/1.1 protokollt is támogat az ügyfél és az előtér közötti kommunikációhoz. A HTTP/2 beállítás mindig engedélyezve van, és nem módosítható. Ha az ügyfelek inkább a HTTP/1.1-et használják a tárolókhoz készült Application Gateway előtérbeli kommunikációjára, folytathatják a tárgyalásokat ennek megfelelően.

A tárolókhoz készült Application Gateway és a háttérbeli cél közötti kommunikáció mindig HTTP/1.1-en keresztül történik, kivéve a HTTP/2-t használó gRPC-t.

A kérelem módosítása

Az Application Gateway for Containers három további fejlécet szúr be az összes kérésbe, mielőtt kéréseket kezdeményez egy háttérbeli célhoz:

  • x-forwarded-for
  • x-forwarded-proto
  • x-request-id

Az x-forwarded-for az eredeti kérelmező ügyfél IP-címe. Ha a kérelem proxyn keresztül érkezik, a fejléc értéke hozzáfűzi a kapott címet, vesszővel tagolt. Például: 1.2.3.4,5.6.7.8; ahol az 1.2.3.4 az ügyfél IP-címe a proxynak az Application Gateway for Containers előtt, az 5.6.7.8 pedig a tárolókhoz készült Application Gateway felé irányuló forgalmat továbbító proxy címe.

Az x-forwarded-proto az Application Gateway for Containers által az ügyféltől kapott protokollt adja vissza. Az érték http vagy https.

Az x-request-id egy egyedi guid, amelyet az Application Gateway for Containers minden ügyfélkéréshez létrehoz, és a továbbított kérésben a háttérbeli célnak jelenik meg. A guid 32 alfanumerikus karakterből áll, kötőjelekkel elválasztva (például: aaaa000-bb11-2222-33cc-444444dddddddd). Ezzel a guidtal korrelálhat egy kérést, amelyet az Application Gateway for Containers fogad és kezdeményez egy háttérbeli célhoz a hozzáférési naplókban meghatározott módon.

Kérelem időtúllépései

A Application Gateway for Containers a következő időtúllépéseket érvényesíti az ügyfél, az Application Gateway for Containers és a háttérrendszer közötti kérelmek elindítása és fenntartása során.

Időkorlát Időtartam Leírás
Kérelem időtúllépése 60 másodperc A tárolókhoz készült Application Gateway várakozási ideje a háttérbeli célválaszra.
HTTP-időtúllépés tétlenség miatt 5 perc A HTTP-kapcsolat bezárása előtti tétlen időkorlát.
Stream inaktivitás időtúllépése 5 perc Inaktív időtúllépés egy egyedi stream bezárása előtt, amelyet egy HTTP-kapcsolat hordoz.
Felsőbb rétegbeli csatlakozás időtúllépése 5 másodperc A háttérbeli célhoz való csatlakozás létrehozásának ideje.

Megjegyzés:

A kérés időkorlátja szigorúan kikényszeríti a kérés befejezését a meghatározott időtartamon belül, függetlenül attól, hogy az adatok aktívan streamelnek-e, vagy a kérés tétlen. Ha például nagy fájlletöltéseket szolgál ki, és a méret vagy a lassú átvitel miatt az átvitel várhatóan 60 másodpercnél hosszabb időt vesz igénybe, fontolja meg a kérés időtúllépési értékének növelését vagy 0 értékre állítását.

Connectivity

A tárolókhoz készült Application Gateway sikeres működéséhez az alábbi csatlakozási követelmények szükségesek.

ALB-vezérlő kimenő csatlakozási lehetősége

Végpont Port Alkalmazás célja
management.azure.com 443-as TCP Azure ARM API
login.microsoftonline.com 443-as TCP Entra AD-hitelesítés
*.oic.prod-aks.azure.com 443-as TCP AKS OIDC-kiállító (Számítási feladat identitása)
*.alb.azure.com 443-as TCP Konfigurációs végpont
mcr.microsoft.com 443-as TCP Konténerképek Helm telepítéshez
DNS-feloldás UDP 53 Az AKS alapértelmezett telepítésében az ALB-vezérlő lekérdezi a coreDNS/kube-dns-t a fürtben

ALB-vezérlő bejövő kapcsolata

Megjegyzés:

Ezek a bejövő portok a ClusterIP szolgáltatáson keresztül érhetők el, és nem jelennek meg közvetlenül az interneten. Ezek ki vannak téve, hogy segítsenek a hibakeresésben / diagnosztikában, és szükség esetén hálózati szabályzattal blokkolhatók.

Port Név Alkalmazás célja
TCP 8000 háttérrendszer állapota Háttér-egészség végpont (/backendHealth)
TCP 8001 metrikák Prometheus metrics endpoint (/metrics)

Előtérbeli kapcsolat

A tárolókhoz készült Application Gateway minden frontendje a következő formátumú: *.fzXX.alb.azure.com, ahol XX 0-99 közötti numerikus számjegyek. Az előtér csak a 443-at és a 80-at figyelheti.