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


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:

  1. 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
  1. 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 BothBGP.
$ipRange A MetalLB terheléselosztó IP-tartománya ARP vagy Both módban.

Ha a hirdetési mód vagy BGP Bothaz , akkor egyéni erőforrást BGPAdvertisementis létrehoz. Ha a hirdetés mód vagy ARP Bothaz, akkor egy egyéni típusú erőforrást L2Advertisementis 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

Következő lépések