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ávalARP
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ó.
- 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.