Registe um balanceador de carga interno

Esta página fornece informações sobre como configurar um balanceador de carga de rede de encaminhamento interno ou um balanceador de carga de aplicações interno (pré-visualização) para que seja registado automaticamente no Service Directory.

Quando cria o equilibrador de carga, pode registá-lo como um ponto final num espaço de nomes do Service Directory e num serviço existentes à sua escolha. As aplicações cliente podem, em seguida, usar o Service Directory (através de HTTP ou gRPC) e/ou o DNS (se tiver criado uma zona de DNS do Service Directory) para resolver o endereço do serviço de balanceamento de carga interno e estabelecer ligação diretamente ao mesmo.

Limitações

A integração do Service Directory com o balanceamento de carga interno tem as seguintes limitações:

  • O registo automático aplica-se apenas aos balanceadores de carga internos e de rede. Pode registar serviços de equilíbrio de carga do Google Kubernetes Engine através da integração do GKE. Pode registar balanceadores de carga globais e entradas e gateways do Google Kubernetes Engine chamando a API Service Directory.
  • Só pode usar o registo automático no momento da criação da regra de encaminhamento. O registo automático através da atualização da CLI Google Cloud para uma regra de encaminhamento já existente não está disponível.
  • Pode registar equilibradores de carga internos no Service Directory nos projetos anfitrião ou de serviço de uma configuração de rede de VPC partilhada. No entanto, todos os componentes de equilíbrio de carga e back-ends têm de existir no mesmo projeto. Para mais detalhes, consulte as limitações do balanceamento de carga interno.
  • O Service Directory não fornece conetividade, o que significa que, embora o Service Directory armazene o endereço IP virtual do balanceador de carga interno, a procura do balanceador de carga interno no Service Directory não garante que se possa estabelecer ligação ao endereço IP virtual.

Antes de começar

Estas instruções requerem o seguinte:

  • Já tem de ter um espaço de nomes e um serviço do Service Directory implementados. Caso contrário, crie um espaço de nomes e um serviço através do procedimento em Configurar o Service Directory.

    O espaço de nomes e o serviço do Service Directory têm de estar no mesmo projeto e região que a regra de encaminhamento do balanceador de carga interno que está a criar.

  • Já tem de ter configurado os recursos necessários para criar uma regra de encaminhamento do balanceador de carga interno.

Configure regras de encaminhamento para registar um balanceador de carga interno no Service Directory

Tem de configurar uma regra de encaminhamento para registar o balanceador de carga interno no Service Directory. Para registar um Network Load Balancer de encaminhamento interno ou um Application Load Balancer interno, consulte as secções seguintes.

Registe um balanceador de carga de rede de passagem interno

Para registar um Network Load Balancer de encaminhamento interno, execute o comando gcloud compute forwarding-rules create e defina a flag service-directory-registration:

gcloud compute forwarding-rules create FORWARDING_RULE_NAME \
    --region=REGION \
    --load-balancing-scheme=INTERNAL \
    --network=NETWORK_NAME \
    --subnet=SUBNET_NAME \
    --address=RESERVED_IP_ADDRESS \
    --ip-protocol=PROTOCOL_TYPE \
    --ports=PORT_NUMBER \
    --backend-service=BACKEND_SERVICE_NAME \
    --backend-service-region=REGION \
    --service-directory-registration=SD_SERVICE_NAME

Substitua o seguinte:

  • FORWARDING_RULE_NAME: um nome para a regra de encaminhamento que quer criar
  • REGION: a região na qual criar a regra de encaminhamento
  • NETWORK_NAME: a rede à qual esta regra de encaminhamento se aplica
  • SUBNET_NAME: a sub-rede à qual esta regra de encaminhamento se aplica
  • RESERVED_IP_ADDRESS: o endereço IP que a regra de encaminhamento serve
  • PROTOCOL_TYPE: o protocolo IP que a regra vai publicar
  • PORT_NUMBER: uma lista de portas separadas por vírgulas
  • BACKEND_SERVICE_NAME: serviço de back-end de destino que recebe o tráfego
  • SD_SERVICE_NAME: o nome totalmente qualificado do serviço do Service Directory onde quer registar o ponto final. Tem de estar no mesmo projeto e região que a regra de encaminhamento que está a ser criada. Por exemplo: projects/PROJECT/locations/REGION/namespaces/NAMESPACE_NAME/services/SERVICE_NAME.

Registe um balanceador de carga de aplicações interno

Para registar um Application Load Balancer interno regional, execute o comando gcloud compute forwarding-rules create e defina a flag service-directory-registration:

gcloud beta compute forwarding-rules create FORWARDING_RULE_NAME \
    --region=REGION \
    --load-balancing-scheme=INTERNAL_MANAGED \
    --network=NETWORK_NAME \
    --address=RESERVED_IP_ADDRESS \
    --target-https-proxy=PROXY_NAME \
    --target-https-proxy-region=PROXY_REGION \
    --ports=PORT_NUMBER \
    --service-directory-registration=SD_SERVICE_NAME

Substitua o seguinte:

  • FORWARDING_RULE_NAME: um nome para a regra de encaminhamento que quer criar
  • REGION: a região na qual criar a regra de encaminhamento
  • NETWORK_NAME: a rede à qual esta regra de encaminhamento se aplica
  • RESERVED_IP_ADDRESS: o endereço IP que a regra de encaminhamento serve
  • PROXY_NAME: o proxy de destino que recebe o tráfego
  • PROXY_REGION: a região em que o proxy vai operar
  • PORT_NUMBER: uma lista de portas separadas por vírgulas
  • SD_SERVICE_NAME: o nome totalmente qualificado do serviço do Service Directory onde quer registar o ponto final. Este serviço tem de estar no mesmo projeto e região que a regra de encaminhamento que está a ser criada. Por exemplo: projects/PROJECT/locations/REGION/namespaces/NAMESPACE_NAME/services/SERVICE_NAME.

Valide o ponto final

Um ou mais pontos finais do Service Directory criados quando regista um balanceador de carga interno têm as seguintes caraterísticas:

  • O ponto final tem o mesmo nome que o nome da regra de encaminhamento com o número de porta especificado (<forwarding rule name>-<port>). Por exemplo, se criar uma regra de encaminhamento RULE com --port=8080, recebe um ponto final denominado RULE-8080. Para a mesma regra, se especificou duas portas --port=8080, 8081, recebe dois pontos finais, RULE-8080 e RULE-8081. Se especificar --port=ALL, o ponto final do diretório de serviços é registado com a porta 0. Se for o proprietário do balanceador de carga interno, tem de garantir que o autor da chamada da API sabe a porta à qual se ligar.
  • Não pode modificar nem eliminar o ponto final através da API Service Directory pública. O ponto final só é eliminado automaticamente quando elimina a regra de encaminhamento. Isto significa que não pode eliminar o serviço e o espaço de nomes no qual o ponto final reside enquanto a regra de encaminhamento existir.
  • O ponto final em si não é faturado, embora os detalhes de preços normais se apliquem a quaisquer chamadas API para o ponto final.

Para confirmar que o ponto final foi criado, resolva o serviço no Service Directory. Deve ver um ponto final com o mesmo nome que o nome da regra de encaminhamento com o número de porta especificado.

Para resolver o serviço no diretório de serviços, faça o seguinte:

gcloud

Execute o comando gcloud service-directory services resolve:

gcloud service-directory services resolve SD_SERVICE_NAME \
    --namespace=SD_NAMESPACE_NAME \
    --location=REGION

Substitua o seguinte:

  • SD_SERVICE_NAME: o nome do serviço do diretório de serviços a resolver. Tem de estar no nome do espaço de nomes do diretório de serviços.
  • SD_NAMESPACE_NAME: o nome que atribuiu ao espaço de nomes que contém o seu serviço.
  • REGION: a região que contém o espaço de nomes. Trusted Cloud Esta deve ser a mesma região em que criou a regra de encaminhamento.

Opcional: crie uma zona do Service Directory através do Cloud DNS

Pode resolver pontos finais do Service Directory registados através desta integração usando o DNS como qualquer outro ponto final do Service Directory. Para criar uma zona do Service Directory através do Cloud DNS, consulte o artigo Configurar uma zona do Service Directory.

Para verificar se a zona está configurada corretamente, pode executar uma consulta de DNS da zona do diretório de serviços. Para obter instruções sobre como consultar através de DNS, consulte o artigo Consultar através de DNS. Se a sua zona estiver configurada corretamente, deve ver o endereço IP do equilibrador de carga interno na saída do comando.

Limpeza

Para eliminar os recursos que criou, faça o seguinte:

gcloud

  1. Para eliminar a regra de encaminhamento, execute o comando gcloud compute forwarding-rules delete:

    gcloud compute forwarding-rules delete FORWARDING_RULE_NAME \
      --region=REGION \
    

    Substitua o seguinte:

    • FORWARDING_RULE_NAME: o nome da regra de encaminhamento que criou
    • REGION: a região da regra de encaminhamento

    Para mais detalhes, consulte o artigo Eliminar uma regra de encaminhamento.

    Para confirmar que a eliminação da regra de encaminhamento eliminou automaticamente o ponto final do Service Directory, execute o comando gcloud service-directory services resolve descrito na secção Validar o ponto final no seu serviço do Service Directory.

  2. Para eliminar a zona, se tiver criado uma, siga as instruções em Elimine uma zona gerida.

  3. Para eliminar o espaço de nomes e o serviço do Service Directory, consulte o artigo Eliminar recursos.

O que se segue?