Tárolóhálózat-fogalmak
A következőkre vonatkozik: AKS on Azure Stack HCI 22H2, AKS on Windows Server
Az alkalmazásösszetevőknek együtt kell működniük a feladataik tárolóalapú mikroszolgáltatás-megközelítésben történő feldolgozásához. A Kubernetes olyan erőforrásokat biztosít, amelyek lehetővé teszik az alkalmazáskommunikációt, és lehetővé teszik az alkalmazásokhoz való csatlakozást és az alkalmazások külső vagy belső használatát. Az alkalmazások terheléselosztását magas rendelkezésre állású alkalmazások létrehozásához használhatja.
Az összetettebb alkalmazásokhoz szükség lehet a bejövő forgalom konfigurálásához ssl-/TLS-lezáráshoz vagy több összetevő útválasztásához. A biztonság érdekében szükség lehet a podok és csomópontok közötti hálózati forgalom korlátozására is.
Ez a cikk bemutatja azokat az alapvető fogalmakat, amelyek az Arc által engedélyezett AKS-ben biztosítják az alkalmazások hálózatkezelését:
- Kubernetes-szolgáltatások
- Bemeneti vezérlő
- Hálózati szabályzatok
Kubernetes-szolgáltatások
Az alkalmazás-számítási feladatok hálózati konfigurációjának egyszerűsítése érdekében a Kubernetes szolgáltatások használatával logikailag csoportosítja a podok egy készletét, és hálózati kapcsolatot biztosít. A következő szolgáltatástípusok érhetők el:
Fürt IP-címe: létrehoz egy belső IP-címet a Kubernetes-fürtben való használatra. A fürt IP-címének használata csak olyan belső alkalmazásokhoz, amelyek támogatják a fürt más számítási feladatait.
NodePort: létrehoz egy portleképezést a mögöttes csomóponton, amely lehetővé teszi az alkalmazás közvetlen elérését a csomópont IP-címével és portjával.
LoadBalancer: létrehoz egy Azure Load Balancer-erőforrást, konfigurál egy külső IP-címet, és csatlakoztatja a kért podokat a terheléselosztó háttérkészletéhez. Annak érdekében, hogy az ügyfelek forgalma elérhesse az alkalmazást, terheléselosztási szabályok jönnek létre a kívánt portokon.
A bejövő forgalom egyéb vezérléséhez és útválasztásához használhat bemeneti vezérlőt.
Feljegyzés
Ha olyan célfürtöt helyez üzembe, amely egy másik célfürttel közös hálózatot használ, fennáll a terheléselosztó IP-címütközésének lehetősége.
Ez akkor fordulhat elő, ha két olyan számítási feladatot helyez üzembe, amelyek különböző portokat használnak az azonos objektumot AksHciClusterNetwork
használó célfürtökben. Mivel az IP-címek és a portleképezések a HA-proxyn belül vannak lefoglalva, ez duplikált IP-cím-hozzárendeléshez vezethet. Ha ez történik, egy vagy mindkét számítási feladat véletlenszerű hálózati csatlakozási problémákba ütközhet, amíg újra üzembe nem helyezi a számítási feladatokat. A számítási feladatok ismételt üzembe helyezésekor használhatja ugyanazt a portot, amely miatt az egyes számítási feladatok külön szolgáltatás IP-címet kapnak, vagy újra üzembe helyezheti a számítási feladatokat a különböző AksHciClusterNetwork
objektumokat használó célfürtökön.
ExternalName: létrehoz egy adott DNS-bejegyzést az alkalmazások könnyebb elérése érdekében. A terheléselosztók és -szolgáltatások IP-címe belső vagy külső cím lehet az általános hálózati beállítástól függően, és dinamikusan hozzárendelhető. Vagy megadhat egy meglévő statikus IP-címet is. A meglévő statikus IP-címek gyakran dns-bejegyzéshez kötődnek. A belső terheléselosztókhoz csak egy privát IP-cím van hozzárendelve, így nem érhetők el az internetről.
A Kubernetes hálózatkezelési alapjai az Azure Stack HCI-n
Az alkalmazásokhoz vagy az alkalmazásösszetevőkhöz való hozzáférés engedélyezéséhez a Kubernetes absztrakciós réteget biztosít a virtuális hálózatkezeléshez. A Kubernetes-csomópontok csatlakoznak a virtuális hálózathoz, és bejövő és kimenő kapcsolatot biztosítanak a podokhoz. Az egyes csomópontokon futó kube-proxy összetevő biztosítja ezeket a hálózati funkciókat.
A Kubernetesben a Szolgáltatások logikailag csoportosítják a podokat, hogy engedélyezve legyen:
- Közvetlen hozzáférés egyetlen IP-cím vagy DNS-név és egy adott port használatával.
- Ossza el a forgalmat terheléselosztóval az ugyanazon szolgáltatást vagy alkalmazást üzemeltető podok között.
Az Azure Stack HCI platform az Azure Stack HCI-fürtök AKS virtuális hálózatkezelésének egyszerűsítésében is segít azáltal, hogy az "aláfedő" hálózatot magas rendelkezésre állású módon biztosítja.
AKS-fürt létrehozásakor egy mögöttes HAProxy
terheléselosztó erőforrást is létrehozunk és konfigurálunk. Amikor alkalmazásokat helyez üzembe egy Kubernetes-fürtben, az IP-címek a podokhoz és a Kubernetes-szolgáltatásokhoz vannak konfigurálva végpontként ebben a terheléselosztóban.
IP-címerőforrások
Az alkalmazás-számítási feladatok hálózati konfigurációjának egyszerűsítése érdekében az AKS Arc IP-címeket rendel az üzembe helyezés alábbi objektumaihoz:
- Kubernetes-fürt API-kiszolgálója: az API-kiszolgáló a Kubernetes vezérlősíkjának összetevője, amely elérhetővé teszi a Kubernetes API-t. Az API-kiszolgáló a Kubernetes vezérlősíkjának előtere. A statikus IP-címek mindig api-kiszolgálókhoz vannak lefoglalva, függetlenül az alapul szolgáló hálózati modelltől.
- Kubernetes-csomópontok (virtuális gépek):: a Kubernetes-fürtök feldolgozó gépekből, úgynevezett csomópontokból állnak, és a csomópontok tárolóalapú alkalmazásokat üzemeltetnek. A vezérlősík csomópontjai mellett minden fürtnek legalább egy feldolgozó csomópontja van. Egy AKS-fürt esetében a Kubernetes-csomópontok virtuális gépekként vannak konfigurálva. Ezek a virtuális gépek magas rendelkezésre állású virtuális gépekként jönnek létre az Azure Stack HCI-ben, további információkért lásd a Node hálózatkezelési fogalmait.
- Kubernetes-szolgáltatások: a Kubernetesben a Szolgáltatások logikailag csoportosítják a pod IP-címeit, hogy lehetővé tegyék a közvetlen hozzáférést egyetlen IP-cím vagy DNS-név használatával egy adott porton. A szolgáltatások terheléselosztóval is eloszthatják a forgalmat. A statikus IP-címek mindig a Kubernetes-szolgáltatásokhoz vannak lefoglalva, függetlenül az alapul szolgáló hálózati modelltől.
- HAProxy terheléselosztók: A HAProxy egy TCP/HTTP terheléselosztó és proxykiszolgáló, amely több végpontra osztva szórja a bejövő kéréseket. Az Azure Stack HCI-üzemelő AKS összes számítási feladatfürtjében van egy HAProxy terheléselosztó, amely speciális virtuális gépként van üzembe helyezve és konfigurálva.
- Microsoft helyszíni felhőszolgáltatás: Ez az Azure Stack HCI felhőszolgáltató, amely lehetővé teszi a Kubernetes szolgáltatást futtató virtualizált környezet létrehozását és kezelését egy helyszíni Azure Stack HCI-fürtön vagy Windows Server-fürtön. Az Azure Stack HCI vagy a Windows Server-fürt által követett hálózati modell határozza meg a Microsoft helyszíni felhőszolgáltatás által használt IP-címfoglalási módszert. A Microsoft helyszíni felhőszolgáltatás által implementált hálózatkezelési fogalmakkal kapcsolatos további információkért tekintse meg a Csomópontok hálózatkezelési alapelveit.
Kubernetes-hálózatok
Az Azure Stack HCI AKS-ben üzembe helyezhet egy fürtöt, amely az alábbi hálózati modellek egyikét használja:
- Flannel Átfedéses hálózatkezelés – A hálózati erőforrások általában a fürt üzembe helyezésekor jönnek létre és konfigurálódnak.
- Project Calico hálózatkezelés – Ez a modell további hálózati funkciókat, például hálózati szabályzatokat és folyamatvezérlést kínál.
Mindkét hálózati implementáció egy átfedéses hálózati konfigurációs modellt használ, amely az adatközpont többi hálózatáról leválasztott IP-cím-hozzárendelést biztosít.
Az átfedéses hálózatkezeléssel kapcsolatos további információkért lásd : Bevezetés: Kubernetes Overlay Networking for Windows.
A Calico Network beépülő modullal és szabályzatokkal kapcsolatos további információkért tekintse meg a Calico hálózati házirend használatának első lépéseit.
Hálózati modellek összehasonlítása
Flanel
Feljegyzés
A Flannel CNI-t 2023 decemberében kivonták.
A Flannel egy kifejezetten tárolókhoz tervezett virtuális hálózati réteg. A Flannel egy lapos hálózatot hoz létre, amely lefedi a gazdagéphálózatot. Az összes tároló/pod egy IP-címet kap ebben az átfedő hálózaton, és közvetlenül kommunikál egymás IP-címéhez való csatlakozással.
Calico
A Calico nyílt forráskódú hálózati és hálózati biztonsági megoldás tárolókhoz, virtuális gépekhez és natív gazdagépalapú számítási feladatokhoz. A Calico több adatsíkot is támogat, például linuxos eBPF adatsíkot, Linux hálózati adatsíkot és Windows HNS-adatsíkot.
Képességek
Funkció | Flanel | Calico |
---|---|---|
Hálózati szabályzatok | Nem | Igen |
IPv6 | Nem | Igen |
Használt rétegek | L2 (VxLAN) | L2 (VxLAN) |
Fürt üzembe helyezése meglévő vagy új virtuális hálózaton | Igen | Igen |
Windows-támogatás | Igen | Igen |
Pod-Pod kapcsolat | Igen | Igen |
Pod-VM kapcsolat, virtuális gép ugyanabban a hálózatban | Nem | Igen |
Pod-VM kapcsolat, virtuális gép különböző hálózaton | Igen | Igen |
Kubernetes-szolgáltatások | Igen | Igen |
Közzétehető a Load Balancer használatával | Igen | Igen |
Hálózatok | Sok hálózat ugyanazon a fürtön több démonnal | Sok hálózat ugyanazon a fürtön |
Telepítés | Linux: DaemonSet | Linux: DaemonSet |
Windows: Szolgáltatás | Windows: Szolgáltatás | |
Parancssor | Nincs | calicoctl |
Fontos
Jelenleg az alapértelmezett beállítás a Calico használata átfedéses hálózati módban. A Flannel engedélyezéséhez használja a -primaryNetworkPlugin
New-AksHciCluster
PowerShell-parancs paraméterét, és adja meg flannel
az értéket. Ez az érték a fürt üzembe helyezése után nem módosítható, és windowsos és linuxos fürtcsomópontokra is érvényes.
Példa:
New-AksHciCluster -name MyCluster -primaryNetworkPlugin 'flannel'
Következő lépések
Ez a cikk az Azure Stack HCI AKS-csomópontjaiban lévő tárolók hálózatkezelési fogalmait ismerteti. Az Azure Stack HCI-vel kapcsolatos AKS-sel kapcsolatos további információkért tekintse meg az alábbi cikkeket: