Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a: AKS no Azure Local
A principal finalidade de um balanceador de carga é distribuir o tráfego entre os vários nós de um cluster Kubernetes. Isso pode ajudar a evitar tempo de inatividade e melhorar o desempenho geral dos aplicativos. O AKS habilitado pelo Azure Arc dá suporte à criação de uma instância do balanceador de carga do MetalLB no cluster do Kubernetes usando uma extensão Arc.
Pré-requisitos
- Um cluster Kubernetes habilitado para Azure Arc com pelo menos um nó do Linux. Você pode criar um cluster kubernetes no Azure Local usando a CLI do Azure ou o portal do Azure. O AKS em clusters locais do Azure é habilitado para Arc por padrão.
- Verifique se você tem endereços IP suficientes para o balanceador de carga. Para o AKS no Azure Local, verifique se os endereços IP reservados para o balanceador de carga não entram em conflito com os endereços IP nas redes lógicas da VM Arc e IPs do plano de controle. Para obter mais informações sobre planejamento de endereço IP e sistema de rede no Kubernetes, consulte Requisitos de rede para Kubernetes e Planejamento de endereço IP para Kubernetes.
- Este guia de instruções pressupõe que você entenda como o MetalLB funciona. Para obter mais informações, consulte a visão geral do MetalLB para Kubernetes.
Instale a extensão da CLI do Azure
Execute o seguinte comando para instalar a extensão necessária da CLI do Azure:
az extension add -n k8s-runtime --upgrade
Ativar extensão do Arc para MetalLB
Antes de continuar, configure as seguintes variáveis:
| Parâmetro | Descrição |
|---|---|
$subId |
ID de assinatura do Azure do cluster do Kubernetes. |
$rgName |
Grupo de recursos do Azure do cluster do Kubernetes. |
$clusterName |
O nome do seu cluster do Kubernetes. |
Opção 1: Habilitar a extensão Arc para MetalLB usando az k8s-runtime load-balancer enable
Para habilitar a extensão Arc para MetalLB usando o comando a seguir, você deve ter a permissão do Graph Application.Read.All. Você pode verificar se tem essa permissão fazendo logon na assinatura do Azure e executando o seguinte comando:
az ad sp list --filter "appId eq '087fca6e-4606-4d41-b3f6-5ebdf75b8b4c'" --output json
Se o comando falhar, entre em contato com o administrador de locatários do Azure para receber a função Application.Read.All.
Se você tiver a permissão, poderá usar o comando az k8s-runtime load-balancer enable para instalar a extensão do Arc e registrar o provedor de recursos para o cluster Kubernetes. O --resource-uri parâmetro refere-se à ID do gerenciador de recursos do cluster do Kubernetes:
az k8s-runtime load-balancer enable --resource-uri subscriptions/$subId/resourceGroups/$rgName/providers/Microsoft.Kubernetes/connectedClusters/$clusterName
Opção 2: Habilitar a extensão Arc para MetalLB usando az k8s-extension add
Se você não tiver a permissão do Graph Application.Read.All, siga estas etapas:
Registre
Microsoft.KubernetesRuntime RPcaso ainda não o tenha feito. Você só precisa se registrar uma vez por assinatura do Azure. Também é possível registrar provedores de recursos usando o portal do Azure. Para obter mais informações sobre como registrar provedores de recursos e as permissões necessárias, consulte como registrar um provedor de recursos.az provider register -n Microsoft.KubernetesRuntimeVocê pode verificar se o provedor de recursos foi registrado corretamente executando o comando a seguir.
az provider show -n Microsoft.KubernetesRuntime -o tableSaída esperada:
Namespace RegistrationPolicy RegistrationState --------------------------- -------------------- ------------------- Microsoft.KubernetesRuntime RegistrationRequired RegisteredPara instalar a extensão do Arc para MetalLB, obtenha o AppID do provedor de recursos da extensão do MetalLB e execute o comando para criar a extensão. Você deve executar os comandos a seguir uma vez por cluster Kubernetes do Arc.
Obtenha a ID do aplicativo da extensão do Arc executando az ad sp list. Para executar o comando a seguir, você deve ser membro
userdo seu locatário do Azure. Para obter mais informações sobre associação de usuários e convidados, consulte permissões de usuário padrão no Microsoft Entra ID.$objID = az ad sp list --filter "appId eq '00001111-aaaa-2222-bbbb-3333cccc4444'" --query "[].id" --output tsvDepois de ter o
objID, você poderá instalar a extensão MetalLB Arc no seu cluster Kubernetes. Para executar o comando a seguir, você deve ter a função de colaborador de extensão do Kubernetes .az k8s-extension create --cluster-name $clusterName -g $rgName --cluster-type connectedClusters --extension-type microsoft.arcnetworking --config k8sRuntimeFpaObjectId=$objID -n arcnetworking
Implantar o balanceador de carga do MetalLB no cluster Kubernetes
Agora você pode criar um balanceador de carga para o cluster Kubernetes remotamente executando o comando az k8s-runtime load-balancer create. Esse comando cria um recurso personalizado do tipo IPAddressPool no namespace kube-system.
Antes de continuar, configure as seguintes variáveis:
| Parâmetro | Descrição |
|---|---|
$lbName |
O nome da instância do balanceador de carga do MetalLB. |
$advertiseMode |
O modo para o balanceador de carga do MetalLB. Os valores aceitos são ARP, BGP ou Both. |
$ipRange |
O intervalo de IP para o balanceador de carga do MetalLB no modo ARP ou Both. |
Se o modo de anúncio for BGP ou Both, ele também criará um recurso personalizado do tipo BGPAdvertisement. Se o modo de anúncio for ARP ou Both, ele também criará um recurso personalizado do tipo 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
Crie um par BGP para seu cluster do Kubernetes
Crie um par BGP para o cluster do Kubernetes remotamente executando o comando az k8s-runtime bgp-peer create. Observe que o par BGP é eficaz para todos os balanceadores de carga que têm modo de anúncio BGP ou Both. A criação de pares BGP é obrigatória se você estiver usando o balanceador de carga do MetalLB nos modos BGP ou Both.
Antes de continuar, configure as seguintes variáveis:
| Parâmetro | Descrição |
|---|---|
$peerName |
O nome do seu par BGP. |
$myASN |
Número AS a ser usado para o final local da sessão. |
$peerASN |
Número AS a ser esperado do fim remoto da sessão. |
$peerIP |
Endereço a ser discado no estabelecimento da sessão. |
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
Próximas etapas
Usar a extensão GitOps Flux v2 do Arc para implantar aplicativos no cluster Kubernetes