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.