Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy: AKS w usłudze Azure Local
Głównym celem modułu równoważenia obciążenia jest dystrybucja ruchu między wieloma węzłami w klastrze Kubernetes. Może to pomóc zapobiec przestojom i poprawić ogólną wydajność aplikacji. Usługa AKS włączona przez usługę Azure Arc obsługuje tworzenie wystąpienia modułu równoważenia obciążenia MetalLB w klastrze Kubernetes z wykorzystaniem rozszerzenia Arc.
Wymagania wstępne
- Klaster Kubernetes z funkcją Azure Arc, z co najmniej jednym węzłem Linux. Możesz utworzyć klaster Kubernetes w usłudze Azure lokalnie, używając Azure CLI lub portalu Azure. Usługa AKS w klastrach lokalnych platformy Azure jest domyślnie włączona w usłudze Arc.
- Upewnij się, że masz wystarczające adresy IP dla modułu równoważenia obciążenia. W przypadku usługi AKS w usłudze Azure Local upewnij się, że adresy IP zarezerwowane dla modułu równoważenia obciążenia nie powodują konfliktu z adresami IP w sieciach logicznych maszyn wirtualnych usługi Arc i adresach IP płaszczyzny sterowania. Aby uzyskać więcej informacji na temat planowania adresów IP i sieci na platformie Kubernetes, zobacz Wymagania dotyczące sieci dla platformy Kubernetes i planowanie adresów IP dla platformy Kubernetes.
- W tym przewodniku z instrukcjami założono, że rozumiesz, jak działa moduł MetalLB. Aby uzyskać więcej informacji, zobacz omówienie usługi MetalLB dla platformy Kubernetes.
Instalowanie rozszerzenia interfejsu wiersza polecenia platformy Azure
Uruchom następujące polecenie, aby zainstalować niezbędne rozszerzenie interfejsu wiersza polecenia platformy Azure:
az extension add -n k8s-runtime --upgrade
Włączanie rozszerzenia Arc dla systemu MetalLB
Przed kontynuowaniem skonfiguruj następujące zmienne:
| Parametr | Opis |
|---|---|
$subId |
Identyfikator subskrypcji platformy Azure klastra Kubernetes. |
$rgName |
Grupa zasobów platformy Azure klastra Kubernetes. |
$clusterName |
Nazwa klastra Kubernetes. |
Opcja 1. Włączanie rozszerzenia Arc dla systemu MetalLB przy użyciu polecenia az k8s-runtime load-balancer enable
Aby włączyć rozszerzenie Arc dla systemu MetalLB przy użyciu następującego polecenia, musisz mieć uprawnienie Graph Application.Read.All. Możesz sprawdzić, czy masz to uprawnienie, logując się do subskrypcji platformy Azure i uruchamiając następujące polecenie:
az ad sp list --filter "appId eq '087fca6e-4606-4d41-b3f6-5ebdf75b8b4c'" --output json
Jeśli polecenie zakończy się niepowodzeniem, skontaktuj się z administratorem dzierżawcy platformy Azure, aby uzyskać przypisaną rolę Application.Read.All.
Jeśli masz uprawnienie, możesz użyć az k8s-runtime load-balancer enable polecenia , aby zainstalować rozszerzenie Arc i zarejestrować dostawcę zasobów dla klastra Kubernetes. Parametr --resource-uri odnosi się do identyfikatora menedżera zasobów klastra Kubernetes:
az k8s-runtime load-balancer enable --resource-uri subscriptions/$subId/resourceGroups/$rgName/providers/Microsoft.Kubernetes/connectedClusters/$clusterName
Opcja 2. Włączanie rozszerzenia Arc dla usługi MetalLB przy użyciu polecenia az k8s-extension add
Jeśli nie masz uprawnień programu Graph Application.Read.All, możesz wykonać następujące kroki:
Zarejestruj element
Microsoft.KubernetesRuntime RP, jeśli jeszcze tego nie zrobiono. Należy pamiętać, że musisz zarejestrować się tylko raz w ramach subskrypcji platformy Azure. Możesz również zarejestrować dostawców zasobów przy użyciu witryny Azure Portal. Aby uzyskać więcej informacji na temat rejestrowania dostawców zasobów i wymaganych uprawnień, zobacz jak zarejestrować dostawcę zasobów.az provider register -n Microsoft.KubernetesRuntimeMożesz sprawdzić, czy dostawca zasobów został pomyślnie zarejestrowany, uruchamiając następujące polecenie.
az provider show -n Microsoft.KubernetesRuntime -o tableOczekiwane dane wyjściowe:
Namespace RegistrationPolicy RegistrationState --------------------------- -------------------- ------------------- Microsoft.KubernetesRuntime RegistrationRequired RegisteredAby zainstalować rozszerzenie Arc dla MetalLB, uzyskaj identyfikator AppID dostawcy zasobu rozszerzenia MetalLB, a następnie uruchom polecenie rozszerzenia create. Dla każdego klastra Kubernetes usługi Arc, należy uruchomić następujące polecenia tylko raz.
Uzyskaj identyfikator aplikacji rozszerzenia Arc, uruchamiając polecenie az ad sp list. Aby uruchomić następujące polecenie, musisz być
userczłonkiem twojego tenanta platformy Azure. Aby uzyskać więcej informacji na temat członkostwa użytkownika i gościa, zobacz domyślne uprawnienia użytkownika w identyfikatorze Entra firmy Microsoft.$objID = az ad sp list --filter "appId eq '00001111-aaaa-2222-bbbb-3333cccc4444'" --query "[].id" --output tsvGdy będziesz mieć
objID, możesz zainstalować rozszerzenie MetalLB Arc w klastrze Kubernetes. Aby uruchomić następujące polecenie, musisz mieć rolę współautora rozszerzenia Kubernetes .az k8s-extension create --cluster-name $clusterName -g $rgName --cluster-type connectedClusters --extension-type microsoft.arcnetworking --config k8sRuntimeFpaObjectId=$objID -n arcnetworking
Wdrażanie modułu równoważenia obciążenia usługi MetalLB w klastrze Kubernetes
Teraz możesz utworzyć moduł równoważenia obciążenia dla klastra Kubernetes zdalnie, uruchamiając az k8s-runtime load-balancer create polecenie . To polecenie tworzy niestandardowy zasób typu IPAddressPool w przestrzeni nazw kube-system.
Przed kontynuowaniem skonfiguruj następujące zmienne:
| Parametr | Opis |
|---|---|
$lbName |
Nazwa wystąpienia modułu równoważenia obciążenia MetalLB. |
$advertiseMode |
Tryb dla równoważenia obciążenia MetalLB. Obsługiwane wartości to ARP, BGPlub Both. |
$ipRange |
Zakres adresów IP dla modułu równoważenia obciążenia MetalLB w trybie ARP lub Both. |
Jeśli tryb reklamowania to BGP lub Both, tworzy również niestandardowy zasób rodzaju BGPAdvertisement. Jeśli tryb anonsowania to ARP lub Both, tworzy również niestandardowy zasób 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
Utwórz równorzędny element BGP dla klastra Kubernetes
Zdalnie utwórz peering BGP dla klastra Kubernetes, uruchamiając polecenie az k8s-runtime bgp-peer create. Należy pamiętać, że peer BGP jest skuteczny dla wszystkich równoważników obciążenia, które mają BGP lub Both tryb ogłaszania. Tworzenie peerów BGP jest obowiązkowe, jeśli używasz modułu równoważenia obciążenia MetalLB w trybie BGP lub Both.
Przed kontynuowaniem skonfiguruj następujące zmienne:
| Parametr | Opis |
|---|---|
$peerName |
Nazwa rówieśnika BGP. |
$myASN |
Numer AS do użycia na końcu lokalnej sesji. |
$peerASN |
Numer AS oczekiwany od zdalnego zakończenia sesji. |
$peerIP |
Adres do wybierania podczas ustanawiania sesji. |
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
Następne kroki
Wdrażanie aplikacji w klastrze Kubernetes przy użyciu rozszerzenia GitOps Flux v2 Arc