Clusters clássicos: por que eu não posso implementar um balanceador de carga?

Resolva problemas ao implantar ou atualizar serviços de balanceador de carga de rede (NLB) em seu cluster.

Infraestrutura clássica

Ao descrever o configmap do ibm-cloud-provider-vlan-ip-config em seu cluster clássico, talvez veja uma mensagem de erro semelhante à saída de exemplo a seguir.

oc describe cm ibm-cloud-provider-vlan-ip-config -n kube-system
Warning  CreatingLoadBalancerFailed ... ErrorSubnetLimitReached: There are already the maximum number of subnets permitted in this VLAN.

Nos clusters padrão, a primeira vez que você cria um cluster em uma zona, uma VLAN pública e uma VLAN privada nessa zona são automaticamente provisionadas para você em sua conta de infraestrutura da IBM Cloud.

Nessa zona, 1 sub-rede móvel pública é solicitada na VLAN pública especificada e 1 sub-rede móvel privada é solicitada na VLAN privada especificada. Para o Red Hat OpenShift on IBM Cloud, as VLANs têm um limite de 40 sub-redes. Se a VLAN do cluster em uma zona já atingiu esse limite, será possível que você não tenha um endereço IP público móvel disponível para criar um balanceador de carga de rede (NLB).

Para visualizar quantas sub-redes uma VLAN tem:

  1. No console de infraestrutura do IBM Cloud, selecione Rede > Gerenciamento de IP > VLANs.
  2. Clique no Número da VLAN da VLAN usada para criar seu cluster. Revise a seção Subnets para ver se 40 ou mais sub-redes existem.

Se for necessária uma nova VLAN, solicite uma entrando em contato com o suporte da IBM Cloud.

Em seguida, crie um cluster que usa essa nova VLAN.

Se você tiver outra VLAN disponível, será possível configurar a ampliação da VLAN no cluster existente. Depois, será possível incluir novos nós do trabalhador no cluster que usam a outra VLAN com sub-redes disponíveis. Para verificar se a ampliação da VLAN já está ativada, use o comando do ibmcloud oc vlan spanning get --region REGION.

Se você não estiver usando todas as sub-redes na VLAN, será possível reutilizar sub-redes na VLAN incluindo-as em seu cluster.

  1. Verifique se a sub-rede que você deseja usar está disponível.

    A conta de infraestrutura que você usa pode ser compartilhada em diversas contas da IBM Cloud. Nesse caso, mesmo que você execute o comando ibmcloud oc subnets para ver sub-redes com Clusters de ligação, é possível ver informações somente de seus clusters. Verifique com o proprietário da conta de infraestrutura para certificar-se de que as sub-redes estão disponíveis e não em uso por nenhuma outra conta ou equipe.

  2. Use o [comando ibmcloud oc cluster subnet add](/docs/openshift?topic=openshift-kubernetes-service-cli#cluster-subnet-add-cli) para disponibilizar uma sub-rede existente para o seu cluster.

  3. Verifique se a sub-rede foi criada com sucesso e se foi incluída em seu cluster. O CIDR da sub-rede é listado na seção Subnet VLANs.

    ibmcloud oc cluster get --cluster CLUSTER_NAME --show-resources
    

    Nesta saída de exemplo, uma segunda sub-rede foi incluída na VLAN pública 2234945:

    Subnet VLANs
    VLAN ID   Subnet CIDR          Public   User-managed
    2234947   10.xxx.xx.xxx/29     false    false
    2234945   169.xx.xxx.xxx/29    true     false
    2234945   169.xx.xxx.xxx/29    true     false
    
  4. Verifique se os endereços IP móveis da sub-rede que você incluiu são usados para o EXTERNAL-IP do balanceador de carga. Podem ser necessários vários minutos até que os serviços usem os endereços IP móveis da nova sub-rede.

    oc get svc -n kube-system