Esta página fornece informações sobre como configurar um Network Load Balancer de encaminhamento externo para que seja automaticamente registado 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) para resolver o endereço do serviço de balanceador de carga de rede de passagem externo e estabelecer ligação diretamente ao mesmo.
Limitações
A integração do Service Directory com balanceadores de carga de rede de encaminhamento externo tem as seguintes limitações:
- O registo automático só suporta balanceadores de carga externos da camada 4. Pode registar serviços de balanceamento de carga do Google Kubernetes Engine através da integração do GKE. Pode registar outros balanceadores de carga externos, 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.
- O Service Directory não fornece conetividade, o que significa que, embora o Service Directory armazene o endereço IP virtual do Network Load Balancer de passagem externo, a procura do Network Load Balancer de passagem externo no Service Directory não garante que 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 Configure 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 Network Load Balancer de passagem externo que está a criar.
Já tem de ter configurado os recursos necessários para criar uma regra de encaminhamento do balanceador de carga de rede de passagem externo.
Para ver informações sobre como criar um balanceador de carga de rede de encaminhamento externo, consulte o artigo Configurar um balanceador de carga de rede de encaminhamento externo.
Configure regras de encaminhamento para registar um Network Load Balancer de passagem externo no Service Directory
Tem de configurar uma regra de encaminhamento para registar o Network Load Balancer de passagem externo no Service Directory. Para registar um Network Load Balancer de encaminhamento externo, consulte a secção seguinte.
Registe um balanceador de carga de rede de encaminhamento externo
Para registar um Network Load Balancer de passagem externo, 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=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 o seguinte:
FORWARDING_RULE_NAME
: um nome para a regra de encaminhamento que quer criarREGION
: a região na qual criar a regra de encaminhamentoRESERVED_IP_ADDRESS
: o endereço IP que a regra de encaminhamento servePROTOCOL_TYPE
: o protocolo IP que a regra deve publicarPORT_NUMBER
: uma lista de portas separadas por vírgulasBACKEND_SERVICE_NAME
: o serviço de back-end de destino que recebe o tráfegoSD_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
Os pontos finais do Service Directory criados quando regista um balanceador de carga de rede de encaminhamento externo 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 encaminhamentoRULE
com--port=8080
, recebe um ponto final denominadoRULE-8080
. Para a mesma regra, se especificou duas portas--port=8080, 8081
, recebe dois pontos finais,RULE-8080
eRULE-8081
. Se especificar--port=ALL
, o ponto final do diretório de serviços é registado com a porta0
. Se for o proprietário do Network Load Balancer de encaminhamento externo, 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, 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.
Limpeza
Para eliminar os recursos que criou, siga estes passos.
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 criouREGION
: 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.Para eliminar o espaço de nomes e o serviço do Service Directory, consulte o artigo Eliminar recursos.
O que se segue?
- Para ver uma vista geral do Service Directory, consulte a vista geral do Service Directory.
- Para encontrar soluções para problemas comuns que pode encontrar ao usar o Service Directory, consulte a secção Resolução de problemas.