Esta página fornece informações sobre como configurar um balanceador de carga de rede de passagem externa para que ele seja registrado automaticamente no diretório de serviços.
Ao criar o balanceador de carga, é possível registrá-lo como um endpoint em um namespace e serviço do Diretório de serviços de sua escolha. Os aplicativos clientes podem usar o Diretório de serviços (usando HTTP ou gRPC) para determinar o endereço do serviço do balanceador de carga de rede de passagem externa e se conectar a ele diretamente.
Limitações
A integração do Diretório de serviços com balanceadores de carga de rede de passagem externa tem as seguintes limitações:
- O registro automático só é compatível com balanceadores de carga externos da camada 4. É possível registrar serviços de balanceamento de carga do Google Kubernetes Engine usando a integração do GKE. É possível registrar outros balanceadores de carga externos, balanceadores de carga globais e entradas e gateways do Google Kubernetes Engine chamando a API do Diretório de serviços.
- O registro automático só pode ser usado no momento da criação da regra de encaminhamento. O registro automático usando a atualização da CLI do Google Cloud para uma regra de encaminhamento já existente não está disponível.
- O Diretório de serviços não oferece conectividade, o que significa que, embora ele armazene o endereço IP virtual do balanceador de carga de rede de passagem externa, a pesquisa do balanceador de carga de rede de passagem externa no Diretório de serviços não garante que você possa se conectar ao endereço IP virtual.
Antes de começar
Estas instruções exigem o seguinte:
Você já precisa ter um namespace e um serviço do Diretório de serviços. Caso contrário, crie um namespace e um serviço usando o procedimento em Configurar o Diretório de serviços.
O namespace e o serviço do diretório de serviços precisam estar no mesmo projeto e região que a regra de encaminhamento do balanceador de carga de rede de passagem externa que você está criando.
Você já deve ter configurado os recursos necessários para criar uma regra de encaminhamento de balanceador de carga de rede de passagem externa.
Para saber como criar um balanceador de carga de rede de passagem externa, consulte Configurar um balanceador de carga de rede de passagem externa.
Configurar regras de encaminhamento para registrar um balanceador de carga de rede de passagem externa no diretório de serviços
É necessário configurar uma regra de encaminhamento para registrar o balanceador de carga de rede de passagem externa no Diretório de serviços. Para registrar um balanceador de carga de rede de passagem externa, consulte a próxima seção.
Registrar um balanceador de carga de rede de passagem externa
Para registrar um balanceador de carga de rede de passagem externa, execute o comando gcloud compute forwarding-rules
create
e
defina a sinalização service-directory-registration
:
gcloud beta compute forwarding-rules create FORWARDING_RULE_NAME \ --region=REGION \ --load-balancing-scheme=EXTERNAL \ --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:
FORWARDING_RULE_NAME
: um nome para a regra de encaminhamento que você quer criar.REGION
: a região onde criar a regra de encaminhamentoRESERVED_IP_ADDRESS
: o endereço IP que a regra de encaminhamento veicula.PROTOCOL_TYPE
: o protocolo IP que a regra disponibilizaráPORT_NUMBER
: uma lista de portas separadas por vírgulaBACKEND_SERVICE_NAME
: serviço de back-end de destino que recebe o tráfego.SD_SERVICE_NAME
: o nome totalmente qualificado do serviço de diretório de serviços em que você quer registrar o endpoint. Esse serviço precisa estar no mesmo projeto e região que a regra de encaminhamento que está sendo criada. Por exemplo: projects/PROJECT
/locations/REGION
/namespaces/NAMESPACE_NAME
/services/SERVICE_NAME
.
Verificar o endpoint
Os endpoints do Diretório de serviços que são criados quando você registra um balanceador de carga de rede de passagem externa têm as seguintes características:
- O endpoint tem o mesmo nome da regra de encaminhamento com o número de porta especificado (
<forwarding rule name>-<port>
). Por exemplo, se você criar uma regra de encaminhamentoRULE
com--port=8080
, vai receber um endpoint chamadoRULE-8080
. Para a mesma regra, se você especificar duas portas--port=8080, 8081
, terá dois endpoints,RULE-8080
eRULE-8081
. Se você especificar--port=ALL
, o endpoint do Diretório de serviços será registrado com a porta0
. Se você for o proprietário do balanceador de carga de rede de passagem externa, é necessário garantir que o autor da chamada da API saiba qual porta se conectar. - Não é possível modificar ou excluir o endpoint usando a API pública do Service Directory. O endpoint só é excluído automaticamente quando você exclui a regra de encaminhamento. Isso significa que não é possível excluir o serviço e o namespace em que o endpoint está enquanto a regra de encaminhamento existe.
- O endpoint em si não é cobrado, mas os detalhes de preços normais se aplicam a qualquer chamada de API para o endpoint.
Para confirmar que o endpoint foi criado, resolva o serviço no Diretório de serviços. Você vai encontrar um endpoint com o mesmo nome da regra de encaminhamento e o número de porta especificado.
Para resolver o serviço no diretório de serviços, execute o comando gcloud service-directory
services resolve
:
gcloud service-directory services resolve SD_SERVICE_NAME \ --namespace=SD_NAMESPACE_NAME \ --location=REGION
Substitua:
SD_SERVICE_NAME
: o nome do serviço do Diretório de serviços a ser resolvido. Ele precisa estar no nome de namespace do diretório de serviços.SD_NAMESPACE_NAME
: o nome que você deu ao namespace que contém o serviço.REGION
: a região Google Cloud que contém o namespace. Ela precisa ser a mesma região em que você criou a regra de encaminhamento.
Limpeza
Para excluir os recursos que você criou, siga estas etapas.
Para excluir a regra de encaminhamento, execute o comando
gcloud compute forwarding-rules delete
:gcloud compute forwarding-rules delete FORWARDING_RULE_NAME \ --region=REGION
Substitua:
FORWARDING_RULE_NAME
: o nome da regra de encaminhamento criadaREGION
: a região da regra de encaminhamento.
Para mais detalhes, consulte Como excluir uma regra de encaminhamento.
Para confirmar que a exclusão da regra de encaminhamento excluiu automaticamente o endpoint do Diretório de serviços, execute o comando
gcloud service-directory services resolve
descrito na seção Verificar o endpoint do serviço do Diretório de serviços.Para excluir o namespace e o serviço do Diretório de serviços, consulte Excluir recursos.
A seguir
- Para ter uma visão geral do Diretório de serviços, consulte a Visão geral do Diretório de serviços.
- Para encontrar soluções de problemas comuns que podem ser encontrados ao usar o diretório de serviços, consulte Solução de problemas.