Compartir a través de


Creación de un equilibrador de carga de MetalLB mediante Azure Arc y la CLI de Azure

Se aplica a: Azure Stack HCI, versión 23H2

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 tiempos de inactividad y a mejorar el rendimiento general de las aplicaciones. AKS habilitado por Azure Arc admite la creación de una instancia de equilibrador de carga MetalLB en el clúster de Kubernetes mediante la Arc Networking extensión k8s.

Requisitos previos

  • Un clúster de Kubernetes con al menos un nodo de Linux. Puede crear un clúster de Kubernetes en Azure Stack HCI 23H2 mediante la CLI de Azure o la Azure Portal.
  • Asegúrese de que tiene suficientes direcciones IP para el equilibrador de carga. Asegúrese de que las direcciones IP reservadas para el equilibrador de carga no entren 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 red para AKS en Azure Stack HCI 23H2.
  • En esta guía paso a paso se supone que comprende cómo funciona Metal LB. Para más información, consulte la introducción a MetalLB en clústeres de Arc 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 del equilibrador de carga

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 para el clúster de Kubernetes.
$clusterName Nombre del clúster de AKS Arc.

Use 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 AKS Arc.

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

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 del equilibrador de carga MetalLB. Los valores admitidos son ARP, BGPo 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 tienen o Both anuncian BGP 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 par BGP.
$myASN Número 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 para 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