Bővítmény üzembe helyezése Az Azure Arc-kompatibilis Kubernetes-fürtökhöz készült MetalLB-bővítmény üzembe helyezése az Azure CLI használatával
A következőkre vonatkozik: Azure Local, 23H2-es verzió
A terheléselosztó fő célja a forgalom elosztása egy Kubernetes-fürt több csomópontja között. Ez segíthet megelőzni az állásidőt és javítani az alkalmazások általános teljesítményét. Az Azure Arc által engedélyezett AKS támogatja a MetalLB terheléselosztó-példány létrehozását a Kubernetes-fürtön Arc-bővítmény használatával.
Előfeltételek
- Egy Azure Arc-kompatibilis Kubernetes-fürt legalább egy Linux-csomóponttal. Kubernetes-fürtöt az Azure Local 23H2-es verziójában hozhat létre az Azure CLI vagy az Azure Portal használatával. Az Azure Local AKS 23H2-es fürtjei alapértelmezés szerint engedélyezve vannak az Arc-ban.
- Győződjön meg arról, hogy elegendő IP-címmel rendelkezik a terheléselosztóhoz. Az Azure Local AKS 23H2-es verziójában győződjön meg arról, hogy a terheléselosztó számára fenntartott IP-címek nem ütköznek az Arc virtuális gép logikai hálózataiban és a vezérlősík IP-címeiben található IP-címekkel. Az IP-címek tervezéséről és a Kubernetesben történő hálózatkezelésről további információt a Kubernetes hálózatkezelési követelményei és a Kubernetes IP-címének tervezése című témakörben talál.
- Ez az útmutató feltételezi, hogy tisztában van a Metal LB működésével. További információ: A MetalLB for Kubernetes áttekintése.
Az Azure CLI-bővítmény telepítése
Futtassa a következő parancsot a szükséges Azure CLI-bővítmény telepítéséhez:
az extension add -n k8s-runtime --upgrade
Arc-bővítmény engedélyezése a MetalLB-hez
A folytatás előtt konfigurálja a következő változókat:
Paraméter | Leírás |
---|---|
$subId |
A Kubernetes-fürt Azure-előfizetés-azonosítója. |
$rgName |
A Kubernetes-fürt Azure-erőforráscsoportja. |
$clusterName |
A Kubernetes-fürt neve. |
1. lehetőség: Arc-bővítmény engedélyezése a MetalLB-hez parancs használatával az k8s-runtime load-balancer enable
Ha engedélyezni szeretné a MetalLB Arc-bővítményét a következő paranccsal, akkor az Application.Read.All gráfengedélyekkel kell rendelkeznie. Az Azure-előfizetésbe való bejelentkezéssel és a következő parancs futtatásával ellenőrizheti, hogy rendelkezik-e ezzel az engedéllyel:
`az ad sp list --filter "appId eq '087fca6e-4606-4d41-b3f6-5ebdf75b8b4c'" --output json`
Ha a parancs sikertelen, forduljon az Azure-bérlő rendszergazdájához a szerepkör lekéréséhez Application.Read.All
.
Ha rendelkezik az engedéllyel, a paranccsal telepítheti az az k8s-runtime load-balancer enable
Arc-bővítményt, és regisztrálhatja az erőforrás-szolgáltatót a Kubernetes-fürthöz. A --resource-uri
paraméter a Kubernetes-fürt erőforrás-kezelő azonosítójára hivatkozik.
az k8s-runtime load-balancer enable --resource-uri subscriptions/$subId/resourceGroups/$rgName/providers/Microsoft.Kubernetes/connectedClusters/$clusterName
2. lehetőség: Arc-bővítmény engedélyezése a MetalLB-hez parancs használatával az k8s-extension add
Ha nem rendelkezik Graph-engedéllyel az Application.Read.All szolgáltatásban, kövesse az alábbi lépéseket:
- Regisztrálja a bejegyzést
Microsoft.KubernetesRuntime RP
, ha még nem tette meg. Vegye figyelembe, hogy Azure-előfizetésenként csak egyszer kell regisztrálnia. Az erőforrás-szolgáltatókat az Azure Portalon is regisztrálhatja. Az erőforrás-szolgáltatók regisztrálásáról és a szükséges engedélyekről további információt az erőforrás-szolgáltató regisztrálásáról talál.
az provider register -n Microsoft.KubernetesRuntime
Az alábbi parancs futtatásával ellenőrizheti, hogy az erőforrás-szolgáltató sikeresen regisztrálva lett-e.
az provider show -n Microsoft.KubernetesRuntime -o table
Várt kimenet:
Namespace RegistrationPolicy RegistrationState
--------------------------- -------------------- -------------------
Microsoft.KubernetesRuntime RegistrationRequired Registered
- A MetalLB Arc-bővítményének telepítéséhez szerezze be a MetalLB-bővítmény erőforrás-szolgáltatójának AppID azonosítóját, majd futtassa a bővítmény létrehozási parancsát. Arc Kubernetes-fürtönként egyszer kell futtatnia a következő parancsokat.
Az az ad sp lista futtatásával szerezze be az Arc-bővítmény alkalmazásazonosítóját. A következő parancs futtatásához az Azure-bérlő tagjának kell lennie user
. A felhasználói és vendégtagságokkal kapcsolatos további információkért tekintse meg a Microsoft Entra ID alapértelmezett felhasználói engedélyeit.
$objID = az ad sp list --filter "appId eq '00001111-aaaa-2222-bbbb-3333cccc4444'" --query "[].id" --output tsv
Miután megkapta a $objID, telepítheti a MetalLB Arc bővítményt a Kubernetes-fürtre. Az alábbi parancs futtatásához Kubernetes-bővítmény közreműködői szerepkörre van szükség.
az k8s-extension create --cluster-name $clusterName -g $rgName --cluster-type connectedClusters --extension-type microsoft.arcnetworking --config k8sRuntimeFpaObjectId=$objID -n arcnetworking
A MetalLB terheléselosztó üzembe helyezése a Kubernetes-fürtön
Mostantól távolról is létrehozhat terheléselosztót a Kubernetes-fürthöz a az k8s-runtime load-balancer create
parancs futtatásával. Ez a parancs létrehoz egy egyéni típusú IPAddressPool
erőforrást a névtérben kube-system
.
A folytatás előtt konfigurálja a következő változókat:
Paraméter | Leírás |
---|---|
$lbName |
A MetalLB terheléselosztó-példány neve. |
$advertiseMode |
A MetalLB terheléselosztó üzemmódja. A támogatott értékek a következőkARP : vagy Both BGP . |
$ipRange |
A MetalLB terheléselosztó IP-tartománya ARP vagy Both módban. |
Ha a hirdetési mód vagy BGP
Both
az , akkor egyéni erőforrást BGPAdvertisement
is létrehoz. Ha a hirdetés mód vagy ARP
Both
az, akkor egy egyéni típusú erőforrást L2Advertisement
is létrehoz:
az k8s-runtime load-balancer create --load-balancer-name $lbName --resource-uri subscriptions/$subId/resourceGroups/$rgName/providers/Microsoft.Kubernetes/connectedClusters/$clusterName --addresses $ipRange --advertise-mode $advertiseMode
BGP-társ létrehozása a Kubernetes-fürthöz
Hozzon létre egy BGP-társt a Kubernetes-fürthöz távolról a az k8s-runtime bgp-peer create
parancs futtatásával. Vegye figyelembe, hogy a BGP-társ minden olyan terheléselosztó esetében érvényes, amely rendelkezik BGP
vagy Both
hirdeti a módot. BGP-társ létrehozása kötelező, ha a MetalLB terheléselosztót BGP
használja vagy Both
módban használja.
A folytatás előtt konfigurálja a következő változókat:
Paraméter | Leírás |
---|---|
$peerName |
A BGP-társ neve. |
$myASN |
A munkamenet helyi végéhez használandó AS-szám. |
$peerASN |
A munkamenet távoli végétől számítandó AS-szám. |
$peerIP |
A munkamenet létrehozásakor tárcsázandó cím. |
az k8s-runtime bgp-peer create --bgp-peer-name $peerName --resource-uri subscriptions/$subId/resourceGroups/$rgName/providers/Microsoft.Kubernetes/connectedClusters/$clusterName --my-asn $myASN --peer-asn $peerASN --peer-address $peerIP