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


A Kubernetes-fürtökhöz készült MetalLB áttekintése

A következőkre vonatkozik: Azure Local, 23H2-es verzió

Az AKS Arc-fürt beállításakor módot kell adnia a szolgáltatások fürtn kívüli akadálymentesítésére. A LoadBalancer típus ideális ehhez az akadálymentességhez, de a külső IP-cím függőben marad. Az Azure Arc-kompatibilis Kubernetes MetalLB bővítménye egy olyan eszköz, amellyel külső IP-címeket hozhat létre az alkalmazásokhoz és szolgáltatásokhoz. Az Arc-kompatibilis Kubernetes-fürtök integrálhatók a MetalLB-vel az Azure Arc-kompatibilis Kubernetes MetalLB bővítményével.

Ahhoz, hogy a szolgáltatások elérhetők legyenek a fürtön kívül, a MetalLB-nek IP-címekre van szüksége. A MetalLB gondoskodik a címek szükség szerinti hozzárendeléséről és kiadásáról a szolgáltatások létrehozásakor, de csak a konfigurált készletekben lévő IP-címeket osztja el. Amikor a MetalLB külső IP-címet rendel egy szolgáltatáshoz, tájékoztatja a fürtön kívüli hálózatot arról, hogy ez az IP-cím a fürthöz tartozik. Ez a kommunikáció olyan szabványos hálózati protokollokkal történik, mint az ARP vagy a BGP.

  • 2. rétegbeli mód (ARP): A 2. rétegbeli módban a fürt egyik K8s-csomópontja veszi át a szolgáltatás tulajdonjogát, és szabványos címfelderítési protokollokat (IPv4-hez készült ARP) használ, hogy ezek az IP-címek elérhetőek legyenek a helyi hálózaton. A lan szempontjából az bejelentő gép egyszerűen több IP-címmel rendelkezik.
  • BGP: BGP módban a fürt összes gépe BGP társviszony-létesítési munkameneteket hoz létre az Ön által vezérelt közeli útválasztókkal, és közli az útválasztókkal, hogyan továbbíthatja a forgalmat a szolgáltatás IP-címeire. A BGP használata lehetővé teszi a több csomópont közötti valódi terheléselosztást, valamint a BGP szabályzatmechanizmusainak köszönhetően a részletes forgalomvezérlést.

A MetalLB két összetevőből áll:

  • Vezérlő: felelős az IP-cím kiosztásáért az egyes szolgáltatásokhoz type=loadbalancer.
  • Előadó: az IP-cím vagy BGP protokoll használatával ARP történő reklámozásáért felelős. A magas rendelkezésre állási (HA) követelmény kielégítése érdekében a hangszóró üzembe helyezése démonkészlet.

Feljegyzés

  • A hangszóró podok a gazdagéphálózatot használják; Vagyis az IP-címük a csomópont IP-címe, így közvetlenül küldhetnek közvetített üzeneteket a gazdahálózati adapteren keresztül.
  • A vezérlő pod egy normál pod, amely a fürt bármely csomópontjában található.

MetalLB-architektúra

  • ARP módban az egyik hangszóró pod van kiválasztva vezetőként. Ezután egy ARP-szórási üzenettel hirdeti meg az IP-címet, és az IP-címet annak a csomópontnak a MAC-címével köti le, amelyben él. Így az összes forgalom először egy csomópontra ér, majd a kube-proxy egyenletesen elterjeszti azt a szolgáltatás összes háttér-podjára.
  • BGP módban minden fürtcsomópont kapcsolatot létesít a BGP Peers lapon létrehozott összes BGP-társsal. A BGP-társ általában TOR-kapcsoló. A BGP-útválasztási információk közvetítéséhez a BGP-társokat úgy kell konfigurálni, hogy felismerjék a fürtcsomópontok IP-címét és ASN-ét. Ha a BGP-t ECMP-vel (Egyenlő költségű multiPath) használja, a forgalom egyenletesen ér el minden csomópontot, és így valódi terheléselosztást ér el.

A MetalLB L2 (ARP) és a BGP mód összehasonlítása

Az L2 és a BGP mód és a MetalLB közötti választás a konkrét követelményektől, a hálózati infrastruktúrától és az üzembe helyezési forgatókönyvtől függ:

Szempont MetalLB L2 (ARP) módban MetalLB BGP módban
Áttekintés A 2. rétegbeli módban egy K8s-csomópont felel egy szolgáltatás helyi hálózaton való hirdetéséért. Hálózati szempontból úgy tűnik, hogy a K8s csomópont több IP-címet is hozzárendelt a hálózati adapteréhez. BGP módban a fürt minden K8s-csomópontja létrehoz egy BGP társviszony-létesítési munkamenetet a hálózati útválasztókkal, és a társviszony-létesítési munkamenet használatával hirdeti a külső fürtszolgáltatások IP-címeit.
IP-cím hozzárendelése A MetallLB IP-címkészleteinek ugyanabban az alhálózatban kell lenniük, mint a K8s-csomópontok. A MetallLB IP-címkészletei más hálózaton lehetnek, mint a K8s-csomópontok.
Konfiguráció összetettsége Alacsony. Mivel az IP-címeket ugyanabban a hálózatban adja meg, mint a Kubernetes-csomópontok, csak IP CIDR-t vagy IP-készletet kell megadnia a MetalLB beállításakor. Magas. A BGP konfigurálásához ismerni kell a BGP protokollt, és ismerni kell a hálózati infrastruktúrát.
Méretezhetőség A 2. rétegbeli hálózatokra korlátozódik, amelyek kis- és közepes méretű K8-üzemelő példányokhoz alkalmasak. Alkalmas összetett hálózati topológiákhoz és nagy méretű K8s-környezetekhez.
Kompatibilitás az infrastruktúra-hálózattal Bármilyen hálózattal működik, de ARP-elárasztást okozhat a nagy K8s-fürtökben, mivel minden szolgáltatáshoz egyetlen IP-címet használnak, és a szolgáltatás bejövő sávszélessége egyetlen csomópont sávszélességére korlátozódik. BGP-támogatást igényel a hálózati infrastruktúrában.
Forgalomtechnika Korlátozott hozzáférés a forgalom útválasztása felett. A forgalom útválasztásának részletes szabályozása BGP-attribútumokkal.
Külső kapcsolat További konfigurációt igényel a külső kapcsolatokhoz. Közvetlen kapcsolatot biztosít külső hálózatokkal BGP-útválasztással.

GYIK

Újra felhasználható egy MetalLB-példány az AKS Arc-fürtökön?

Nem, a MetalLB nem használható újra az AKS Arc-fürtökben. A MetalLB podként él egy Kubernetes-fürtben, a terheléselosztók pedig egyéni erőforrások (CR-ek). Telepítenie kell a MetalLB Arc k8s-bővítményt az Azure CLI, az Azure Portal vagy az Azure Resource Manager-sablonok használatával, és minden AKS Arc-fürthöz létre kell hoznia terheléselosztókat.

Következő lépések