Sdílet prostřednictvím


Nasazení rozšíření pro clustery Kubernetes s podporou Služby Azure Arc s využitím Azure CLI

Platí pro: Azure Local, verze 23H2

Hlavním účelem nástroje pro vyrovnávání zatížení je distribuce provozu mezi více uzlů v clusteru Kubernetes. To může pomoct zabránit výpadkům a zlepšit celkový výkon aplikací. Služba AKS povolená službou Azure Arc podporuje vytváření instance nástroje pro vyrovnávání zatížení MetalLB v clusteru Kubernetes pomocí rozšíření Arc.

Požadavky

  • Cluster Kubernetes s podporou Azure Arc s alespoň jedním linuxovým uzlem. Cluster Kubernetes můžete vytvořit v místním Azure verze 23H2 pomocí Azure CLI nebo webu Azure Portal. Clustery AKS v Azure Local verze 23H2 jsou ve výchozím nastavení povolené arc.
  • Ujistěte se, že máte dostatek IP adres pro nástroj pro vyrovnávání zatížení. V případě AKS v Azure Local verze 23H2 se ujistěte, že IP adresy rezervované pro nástroj pro vyrovnávání zatížení nejsou v konfliktu s IP adresami v logických sítích virtuálních počítačů Arc a IP rovině řízení. Další informace o plánování IP adres a sítích v Kubernetes najdete v tématu Požadavky na sítě pro Kubernetes a plánování IP adres pro Kubernetes.
  • Tento návod předpokládá, že rozumíte tomu, jak nástroj pro vyrovnávání zatížení funguje. Další informace najdete v přehledu nástroje MetalLB pro Kubernetes.

Instalace rozšíření Azure CLI

Spuštěním následujícího příkazu nainstalujte potřebné rozšíření Azure CLI:

az extension add -n k8s-runtime --upgrade

Povolení rozšíření Arc pro MetalLB

Před pokračováním nakonfigurujte následující proměnné:

Parametr Popis
$subId ID předplatného Azure vašeho clusteru Kubernetes
$rgName Skupina prostředků Azure vašeho clusteru Kubernetes
$clusterName Název clusteru Kubernetes.

Možnost 1: Povolení rozšíření Arc pro MetalLB pomocí az k8s-runtime load-balancer enable příkazu

Pokud chcete povolit rozšíření Arc pro MetalLB pomocí následujícího příkazu, musíte mít oprávnění Graph Application.Read.All. Toto oprávnění můžete zkontrolovat tak, že se přihlásíte ke svému předplatnému Azure a spustíte následující příkaz:

`az ad sp list --filter "appId eq '087fca6e-4606-4d41-b3f6-5ebdf75b8b4c'" --output json`

Pokud příkaz selže, požádejte o získání Application.Read.All role správce tenanta Azure.

Pokud máte oprávnění, můžete pomocí az k8s-runtime load-balancer enable příkazu nainstalovat rozšíření Arc a zaregistrovat poskytovatele prostředků pro cluster Kubernetes. Parametr --resource-uri odkazuje na ID správce prostředků vašeho clusteru Kubernetes.

az k8s-runtime load-balancer enable --resource-uri subscriptions/$subId/resourceGroups/$rgName/providers/Microsoft.Kubernetes/connectedClusters/$clusterName

Možnost 2: Povolení rozšíření Arc pro MetalLB pomocí az k8s-extension add příkazu

Pokud nemáte oprávnění Graphu Application.Read.All, můžete postupovat takto:

  1. Zaregistrujte si Microsoft.KubernetesRuntime RP , jestli jste to ještě neudělali. Mějte na paměti, že pro každé předplatné Azure stačí registrovat jenom jednou. Poskytovatele prostředků můžete také zaregistrovat pomocí webu Azure Portal. Další informace o tom, jak zaregistrovat poskytovatele prostředků a požadovaná oprávnění, najdete v tématu o tom, jak zaregistrovat poskytovatele prostředků.
az provider register -n Microsoft.KubernetesRuntime

Spuštěním následujícího příkazu můžete zkontrolovat, jestli je poskytovatel prostředků úspěšně zaregistrovaný.

az provider show -n Microsoft.KubernetesRuntime -o table

Očekávaný výstup:

Namespace                    RegistrationPolicy    RegistrationState
---------------------------  --------------------  -------------------
Microsoft.KubernetesRuntime  RegistrationRequired  Registered
  1. Pokud chcete nainstalovat rozšíření Arc pro MetalLB, získejte APPID zprostředkovatele prostředků rozšíření MetalLB a spusťte příkaz create rozšíření. Pro cluster Kubernetes Arc musíte spustit následující příkazy jednou.

Získejte ID aplikace rozšíření Arc spuštěním příkazu az ad sp list. Abyste mohli spustit následující příkaz, musíte být user členem vašeho tenanta Azure. Další informace o členství uživatele a hosta naleznete v části Výchozí uživatelská oprávnění v Microsoft Entra ID.

$objID = az ad sp list --filter "appId eq '00001111-aaaa-2222-bbbb-3333cccc4444'" --query "[].id" --output tsv

Jakmile budete mít $objID, můžete do clusteru Kubernetes nainstalovat rozšíření MetalLB Arc. Pokud chcete spustit následující příkaz, musíte mít roli přispěvatele rozšíření Kubernetes.

az k8s-extension create --cluster-name $clusterName -g $rgName --cluster-type connectedClusters --extension-type microsoft.arcnetworking --config k8sRuntimeFpaObjectId=$objID -n arcnetworking

Nasazení nástroje pro vyrovnávání zatížení metalLB v clusteru Kubernetes

Teď můžete vytvořit nástroj pro vyrovnávání zatížení pro cluster Kubernetes vzdáleně spuštěním az k8s-runtime load-balancer create příkazu. Tento příkaz vytvoří vlastní prostředek typu IPAddressPool v oboru názvů kube-system.

Před pokračováním nakonfigurujte následující proměnné:

Parametr Popis
$lbName Název instance nástroje pro vyrovnávání zatížení Nástroje pro vyrovnávání zatížení Nástroje pro vyrovnávání zatížení Nástroje pro vyrovnávání zatížení.
$advertiseMode Režim vašeho nástroje pro vyrovnávání zatížení Nástroje pro vyrovnávání zatížení systému MetalLB. Podporované hodnoty jsou ARP, BGPnebo Both.
$ipRange Rozsah IP adres nástroje pro vyrovnávání zatížení metalLB v režimu nebo Both v ARP režimu.

Pokud je BGP Bothinzerování nebo , vytvoří také vlastní prostředek typu BGPAdvertisement. Pokud je ARP Bothinzerování nebo , vytvoří také vlastní prostředek typu L2Advertisement:

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

Vytvoření partnerského vztahu protokolu BGP pro cluster Kubernetes

Spuštěním az k8s-runtime bgp-peer create příkazu vytvořte partnerský uzel protokolu BGP pro cluster Kubernetes vzdáleně. Mějte na paměti, že partnerský vztah protokolu BGP je efektivní pro všechny nástroje pro vyrovnávání zatížení, které mají BGP nebo Both inzerují režim. Vytváření partnerských uzlů protokolu BGP je povinné, pokud používáte nástroj pro vyrovnávání zatížení MetalLB v režimu nebo Both v BGP režimu.

Před pokračováním nakonfigurujte následující proměnné:

Parametr Popis
$peerName Název partnerského vztahu protokolu BGP.
$myASN Číslo AS, které se má použít pro místní konec relace.
$peerASN Číslo AS, které se má očekávat od vzdáleného konce relace.
$peerIP Adresa pro vytáčení při navazování relace
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

Další kroky