Instalando balanceadores de carga MetalLB
Esta página lista as instruções de instalação e configuração do balanceador de carga gerenciado MetalLB.
Instalando o balanceador de carga MetalLB
O balanceador de carga MetalLB é totalmente integrado ao Anthos Clusters no VMware e tem implantação automatizada realizada como parte das configurações de cluster de administrador e usuário a partir da versão 1.11. Existem blocos de texto no respectivo cluster.yaml
arquivos de configuração que você deve modificar para fornecer informações do balanceador de carga. Ele é auto-hospedado no seu cluster Anthos, em vez de exigir a implantação de recursos externos como outras soluções de balanceador de carga compatíveis. Ele também permite criar um ip-pool que atribui endereços automaticamente com a criação de serviços Kubernetes do tipo balanceador de carga em clusters que não são executados em um provedor de nuvem.
Integração com o Anthos
Ao habilitar o balanceador de carga MetalLB para o administrador do Anthos, você deve modificar algumas linhas no loadBalancer:
seção que existe no admin-cluster.yaml
arquivo. Os únicos valores que você deve modificar são para definir o controlPlaneVIP:
endereço e, em seguida, defina o kind:
como MetalLB. Veja o seguinte trecho de código como exemplo:
# (Required) Load balancer configuration loadBalancer: # (Required) The VIPs to use for load balancing vips: # Used to connect to the Kubernetes API controlPlaneVIP: "10.61.181.230" # # (Optional) Used for admin cluster addons (needed for multi cluster features). Must # # be the same across clusters # addonsVIP: "" # (Required) Which load balancer to use "F5BigIP" "Seesaw" "ManualLB" or "MetalLB". # Uncomment the corresponding field below to provide the detailed spec kind: MetalLB
Ao habilitar o balanceador de carga MetalLB para clusters de usuários do Anthos, há duas áreas em cada user-cluster.yaml
arquivo que você deve atualizar. Em primeiro lugar, de forma semelhante à admin-cluster.yaml
arquivo, você deve modificar o controlPlaneVIP:
, ingressVIP:
, e kind:
valores no loadBalancer:
seção. Veja o seguinte trecho de código como exemplo:
loadBalancer: # (Required) The VIPs to use for load balancing vips: # Used to connect to the Kubernetes API controlPlaneVIP: "10.61.181.240" # Shared by all services for ingress traffic ingressVIP: "10.61.181.244" # (Required) Which load balancer to use "F5BigIP" "Seesaw" "ManualLB" or "MetalLB". # Uncomment the corresponding field below to provide the detailed spec kind: MetalLB
|
O endereço IP do ingressVIP deve existir no pool de endereços IP atribuídos ao balanceador de carga MetalLB posteriormente na configuração. |
Você precisa então navegar até o metalLB:
subseção e modificar o addressPools:
seção nomeando a piscina no - name:
variável. Você também deve criar um conjunto de endereços IP que o MetalLB pode atribuir a serviços do tipo LoadBalancer, fornecendo um intervalo para o addresses:
variável.
# # (Required when using "MetalLB" kind in user clusters) Specify the MetalLB config metalLB: # # (Required) A list of non-overlapping IP pools used by load balancer typed services. # # Must include ingressVIP of the cluster. addressPools: # # (Required) Name of the address pool - name: "default" # # (Required) The addresses that are part of this pool. Each address must be either # # in the CIDR form (1.2.3.0/24) or range form (1.2.3.1-1.2.3.5). addresses: - "10.61.181.244-10.61.181.249"
|
O pool de endereços pode ser fornecido como um intervalo, como no exemplo, limitando-o a um número de endereços em uma sub-rede específica, ou pode ser fornecido como uma notação CIDR se toda a sub-rede estiver disponível. |
-
Quando serviços do Kubernetes do tipo LoadBalancer são criados, o MetalLB atribui automaticamente um IP externo aos serviços e anuncia o endereço IP respondendo às solicitações ARP.