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: AKS az Azure Local-on

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

  • Legalább egy Linux-csomóponttal rendelkező Azure Arc-kompatibilis Kubernetes-fürt. Az Azure CLI vagy az Azure Portal használatával kubernetes-fürtöt hozhat létre az Azure Local-on. Az Azure-beli helyi fürtök AKS-jei alapértelmezés szerint Arc-kompatibilisek.
  • Győződjön meg arról, hogy elegendő IP-címmel rendelkezik a terheléselosztóhoz. Az Azure Local AKS esetében 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 szereplő 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 MetalLB működésével. További információért lásd a MetalLB for Kubernetes áttekintését.

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-klaszter neve.

1. lehetőség: Arc-bővítmény engedélyezése a MetalLB-hez 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, vegye fel a kapcsolatot az Azure-bérlő rendszergazdájával a Application.Read.All szerepkör megszerzéséhez.

Ha rendelkezik az engedéllyel, a parancs segítségével 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 klaszterhez. 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: Az Arc bővítmény engedélyezése a MetalLB-hez 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 Microsoft.KubernetesRuntime RP-t, 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
    
  2. 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 Arc-bővítmény alkalmazásazonosítójának megszerzéséhez futtassa az az ad sp list parancsot. 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 rendelkezésére áll a objID, telepítheti a MetalLB Arc-bővítményt a Kubernetes-fürtre. A következő parancs futtatásához a Kubernetes bővítmény közreműködői szerepkörével kell rendelkeznie.

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

Ha a hirdetési üzemmód BGP vagy Both, akkor BGPAdvertisement típusú egyéni erőforrást is létrehoz. Ha a hirdetés mód vagy ARPBothaz, 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 peert a Kubernetes-fürt számára, távolról futtatva a az k8s-runtime bgp-peer create parancsot. Vegye figyelembe, hogy a BGP-társ minden olyan terheléselosztóra érvényes, amelynek BGP vagy Both hirdetési módja van. 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égpontjától elvárt AS-szám.
$peerIP 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

Alkalmazások üzembe helyezése a Kubernetes-fürtön a GitOps Flux v2 Arc-bővítmény használatával