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:
- 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
- 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 , BGP nebo 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
Both
inzerování nebo , vytvoří také vlastní prostředek typu BGPAdvertisement
. Pokud je ARP
Both
inzerová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