Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a: AKS en Azure Local
El propósito principal de un equilibrador de carga es distribuir el tráfico entre varios nodos de un clúster de Kubernetes. Esto puede ayudar a evitar el tiempo de inactividad y mejorar el rendimiento general de las aplicaciones. AKS habilitado por Azure Arc admite la creación de una instancia del equilibrador de carga MetalLB en el clúster de Kubernetes mediante una extensión de Arc.
Requisitos previos
- Un clúster de Kubernetes habilitado para Azure Arc con al menos un nodo de Linux. Puede crear un clúster de Kubernetes en Azure Local mediante la CLI de Azure o Azure Portal. Los clústeres locales de AKS en Azure están habilitados con Arc de manera predeterminada.
- Asegúrese de que tiene suficientes direcciones IP para el equilibrador de carga. Para AKS en Azure Local, asegúrese de que las direcciones IP reservadas para el equilibrador de carga no entran en conflicto con las direcciones IP de las redes lógicas de máquinas virtuales de Arc y las direcciones IP del plano de control. Para más información sobre el planeamiento de direcciones IP y las redes en Kubernetes, consulte Requisitos de redes para Kubernetes y planeamiento de direcciones IP para Kubernetes.
- En esta guía paso a paso se supone que comprende cómo funciona MetalLB. Para obtener más información, consulte la introducción a MetalLB para Kubernetes.
Instalación de la extensión de la CLI de Azure
Ejecute el siguiente comando para instalar la extensión de la CLI de Azure necesaria:
az extension add -n k8s-runtime --upgrade
Habilitación de la extensión arc para MetalLB
Configure las siguientes variables antes de continuar:
Parámetro | Descripción |
---|---|
$subId |
Identificador de suscripción de Azure del clúster de Kubernetes. |
$rgName |
Grupo de recursos de Azure del clúster de Kubernetes. |
$clusterName |
Nombre del clúster de Kubernetes. |
Opción 1: Habilitar la extensión Arc para MetalLB mediante az k8s-runtime load-balancer enable
Para habilitar la extensión arc para MetalLB mediante el siguiente comando, debe tener el permiso De Graph Application.Read.All. Puede comprobar si tiene este permiso iniciando sesión en la suscripción de Azure y ejecutando el siguiente comando:
az ad sp list --filter "appId eq '087fca6e-4606-4d41-b3f6-5ebdf75b8b4c'" --output json
Si se produce un error en el comando, póngase en contacto con el administrador de inquilinos de Azure para obtener Application.Read.All
el rol.
Si tiene el permiso, puede usar el az k8s-runtime load-balancer enable
comando para instalar la extensión de Arc y registrar el proveedor de recursos para el clúster de Kubernetes. El --resource-uri
parámetro hace referencia al identificador del administrador de recursos del clúster de Kubernetes:
az k8s-runtime load-balancer enable --resource-uri subscriptions/$subId/resourceGroups/$rgName/providers/Microsoft.Kubernetes/connectedClusters/$clusterName
Opción 2: Habilitar la extensión Arc para MetalLB mediante az k8s-extension add
Si no tiene permiso de Graph Application.Read.All, puede seguir estos pasos:
Registre si
Microsoft.KubernetesRuntime RP
aún no lo ha hecho. Tenga en cuenta que solo tiene que registrarse una vez por suscripción de Azure. También puede registrar proveedores de recursos mediante Azure Portal. Para obtener más información sobre cómo registrar proveedores de recursos y permisos necesarios, consulte cómo registrar un proveedor de recursos.az provider register -n Microsoft.KubernetesRuntime
Puede comprobar si el proveedor de recursos se ha registrado correctamente ejecutando el siguiente comando.
az provider show -n Microsoft.KubernetesRuntime -o table
Resultado esperado:
Namespace RegistrationPolicy RegistrationState --------------------------- -------------------- ------------------- Microsoft.KubernetesRuntime RegistrationRequired Registered
Para instalar la extensión arc para MetalLB, obtenga el AppID del proveedor de recursos de extensión MetalLB y, a continuación, ejecute el comando extension create. Debe ejecutar los siguientes comandos una vez por clúster de Kubernetes de Arc.
Para obtener el identificador de aplicación de la extensión de Arc, ejecute az ad sp list. Para ejecutar el comando siguiente, debe ser
user
miembro del inquilino de Azure. Para obtener más información sobre la pertenencia a usuarios e invitados, consulte permisos de usuario predeterminados en Microsoft Entra ID.$objID = az ad sp list --filter "appId eq '00001111-aaaa-2222-bbbb-3333cccc4444'" --query "[].id" --output tsv
Una vez que tenga
objID
, puede instalar la extensión MetalLB Arc en el clúster de Kubernetes. Para ejecutar el siguiente comando, debe tener el rol colaborador de extensión de Kubernetes .az k8s-extension create --cluster-name $clusterName -g $rgName --cluster-type connectedClusters --extension-type microsoft.arcnetworking --config k8sRuntimeFpaObjectId=$objID -n arcnetworking
Implementación del equilibrador de carga metalLB en el clúster de Kubernetes
Ahora puede crear un equilibrador de carga para el clúster de Kubernetes de forma remota mediante la ejecución del az k8s-runtime load-balancer create
comando . Este comando crea un recurso personalizado de tipo IPAddressPool
en el espacio de nombres kube-system
.
Configure las siguientes variables antes de continuar:
Parámetro | Descripción |
---|---|
$lbName |
Nombre de la instancia del equilibrador de carga MetalLB. |
$advertiseMode |
Modo para el equilibrador de carga MetalLB. Los valores admitidos son ARP , BGP o Both . |
$ipRange |
Intervalo IP del equilibrador de carga MetalLB en ARP modo o Both . |
Si el modo de anuncio es BGP
o Both
, también crea un recurso personalizado de tipo BGPAdvertisement
. Si el modo de anuncio es ARP
o Both
, también crea un recurso personalizado de 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
Creación de un par BGP para el clúster de Kubernetes
Cree un par BGP para el clúster de Kubernetes de forma remota mediante la ejecución del az k8s-runtime bgp-peer create
comando . Tenga en cuenta que el par BGP es efectivo para todos los equilibradores de carga que tengan BGP
o Both
anuncien el modo. La creación de pares BGP es obligatoria si usa el equilibrador de carga MetalLB en BGP
modo o Both
.
Configure las siguientes variables antes de continuar:
Parámetro | Descripción |
---|---|
$peerName |
Nombre del mismo nivel de BGP. |
$myASN |
Número de AS que se va a usar para el final local de la sesión. |
$peerASN |
Número de AS que se espera desde el final remoto de la sesión. |
$peerIP |
Dirección que se va a marcar al establecer la sesión. |
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
Pasos siguientes
Uso de la extensión de GitOps Flux v2 Arc para implementar aplicaciones en el clúster de Kubernetes