Canais de balanceamento de carga
Os canais de balanceamento de carga expõem seus serviços por meio de dedicated gateways e são acessados por meio de sub-redes em VPCs para reduzir a latência. Eles equilibram as cargas de serviços de back-end como canais de servidores ou sincronizam automaticamente as alterações de nó de serviço como canais de microsserviço.
Depois de criar um canal de balanceamento de carga, você pode configurá-lo para uma API de um serviço de back-end HTTP/HTTPS.
Por exemplo, seis ECSs foram implementados e um canal de balanceamento de carga foi criado para alcançar o ECS 01 e o ECS 04. Nessa situação, o APIG pode acessar esses dois ECSs pelo canal.
Pré-requisitos
- Você tem a permissão VPC Administrator.
- Para configurar um canal de servidor, certifique-se de que você criou servidores em nuvem que podem se comunicar com o APIG.
- Para configurar um canal de microsserviço, verifique se você criou um cluster (um cluster de CCE do modelo de rede de VPC ou um cluster Turbo) e uma carga de trabalho
- Se o gateway não oferecer suporte a canais de microsserviços, entre em contato com o suporte técnico para atualizar o gateway para a versão mais recente.
- O cluster de CCE e o gateway de destino devem estar na mesma VPC ou conectados uns aos outros usando uma conexão de espelhamento de VPC. Se a rede estiver conectada por meio da mesma VPC (com segmentos de rede estendidos) ou de uma conexão de emparelhamento de VPC, será necessário adicionar o bloco CIDR de container do cluster a Routes na página de detalhes do gateway.
- A carga de trabalho deve ter um rótulo de pod configurado. Esse rótulo será usado para identificar a carga de trabalho, por exemplo, uma versão específica da carga de trabalho, durante a configuração do microsserviço. Para obter detalhes, consulte Rótulos e anotações de pod.
- Configure um rótulo de pod ao criar uma carga de trabalho clicando em Create Workload. Na página de criação da carga de trabalho, na área Advanced Settings > Labels and Annotations > Pod Label, configure o rótulo app.
- Configure um rótulo de pod ao criar uma carga de trabalho criando um arquivo YAML. Por exemplo: app=service01.
spec: replicas: 2 selector: matchLabels: app: 'service01'
Criação de um canal de balanceamento de carga
- Vá para o console do APIG.
- Selecione um gateway na parte superior do painel de navegação.
- No painel de navegação, escolha API Management > API Policies.
- Clique na guia Load Balance Channels.
- Clique em Create Load Balance Channel e configure as informações básicas.
Tabela 1 Informações básicas Parâmetro
Descrição
Name
Nome do canal.
Port
A porta do host do canal, ou seja, a porta de seus serviços de back-end.
Intervalo: 1–65535
Routing Algorithm
O algoritmo a ser usado para encaminhar solicitações para os servidores em nuvem que você selecionar.
Os seguintes algoritmos de roteamento estão disponíveis:
- WRR: round robin ponderado
- WLC: conexão mínima ponderada
- SH: hash de origem
- URI hashing
Type
- Configure servidores.
Os canais de balanceamento de carga suportam balanceadores de carga de rede privada. Você pode especificar endereços de servidor.
- Selecionar servidores em nuvem
- Clique em Create Server Group.
Na caixa de diálogo exibida, insira as informações do grupo de servidores e clique em OK.
Tabela 2 Parâmetros do grupo de servidores Parâmetro
Descrição
Group Name
Insira um nome de grupo de servidores. O uso de regras de nomeação facilita a pesquisa futura.
Weight
Insira o peso do grupo de servidores. Quanto maior o peso, mais solicitações podem ser encaminhadas para os servidores no grupo.
Description
Digite uma breve descrição do grupo de servidores.
- Clique em Add Cloud Server.
Na caixa de diálogo exibida, selecione uma sub-rede, selecione os servidores de nuvem a serem adicionados e clique em OK.
- Após a conclusão da configuração, configure a verificação de integridade.
- Clique em Create Server Group.
- Especificar endereços IP
- Clique em Create Server Group.
Na caixa de diálogo exibida, insira as informações do grupo de servidores e clique em OK. Configure parâmetros de acordo com Tabela 2.
- Clique em Add Backend Server Address e digite um endereço de servidor back-end.
Tabela 3 Parâmetros do servidor back-end Parâmetro
Descrição
Backend Server Address
Endereço IP do servidor back-end.
Standby Node
Se você ativar essa opção, o servidor back-end funcionará como um nó em espera. Funciona somente quando todos os nós não em espera estão com defeito.
Port
Número da porta de acesso do servidor back-end. Se o número da porta for 0, a porta do canal de balanceamento de carga será usada.
Server Status
Especifique se deseja ativar o servidor. As solicitações são distribuídas para o servidor somente se ele estiver ativado.
- Após a conclusão da configuração, configure a verificação de integridade.
- Clique em Create Server Group.
- Selecionar servidores em nuvem
- Configure um microsserviço e um grupo de servidores.
- Configure as informações de microsserviços de acordo com a tabela a seguir.
Tabela 4 Configuração de microsserviços Parâmetro
Descrição
Microservice Type
Fixado como Cloud Container Engine (CCE).
Cluster
Selecione um cluster. Clique em View CCE Console para visualizar os clusters disponíveis.
Namespace
Namespace do cluster, que é uma coleção abstrata de recursos e objetos.
Workload Type
- Deployment: as implementações não armazenam dados ou status enquanto estão em execução.
- StatefulSet: os StatefulSets armazenam dados e status durante a execução.
- DaemonSet: DaemonSets garantem que apenas um pod seja executado em todos ou em alguns nós. Quando um nó é adicionado a um cluster, um novo pod também é adicionado para o nó. Quando um nó é removido de um cluster, o pod também é recuperado.
NOTA:
Se um DaemonSet for excluído, todos os pods criados por ele serão excluídos.
Para obter detalhes sobre esses tipos de carga de trabalho, consulte Visão geral.
Service Label Key
Rótulo do pod de uma carga de trabalho. O nome do rótulo de serviço é a chave do rótulo do pod e o valor do rótulo de serviço é o valor do rótulo do pod.
Para obter detalhes sobre rótulos de pod, consulte Rótulos e anotações.
Service Label Value
- Configure um grupo de servidores.
Clique em Add Server Group e defina os parâmetros necessários.
Tabela 5 Parâmetros do grupo de servidores Parâmetro
Descrição
Server Group Name
O mesmo que o valor do rótulo de serviço por padrão. Modifique o nome, se necessário.
Weight
Valor padrão: 1; intervalo: 0–100.
NOTA:Se Routing Algorithm for definido como URI hashing, o peso é 1 por padrão e não pode ser alterado.
Backend Service Port
Por padrão, a porta do canal de balanceamento de carga é usada.
Workload Name
Selecione uma carga de trabalho de CCE.
Tag
Rótulo do pod de uma carga de trabalho. Se uma carga de trabalho não puder ser identificada por um determinado nome e valor de rótulo de serviço, selecione outro rótulo de pod para especificar a carga de trabalho.
Por exemplo, as cargas de trabalho 01 e 02 têm o mesmo rótulo app, mas podem ser identificadas usando a tag version ou test_name.
Carga de trabalho 01
spec: replicas: 2 selector: matchLabels: app: 'app01' version: 'v1'
Carga de trabalho 02
spec: replicas: 2 selector: matchLabels: app: 'app01' test_name: 'test_value'
- Após a conclusão da configuração, configure a verificação de integridade.
- Configure as informações de microsserviços de acordo com a tabela a seguir.
- Configure verificações de integridade.
Tabela 6 Informações básicas Parâmetro
Descrição
Protocol
O protocolo usado para executar verificações de integridade em servidores em nuvem vinculados ao canal. Opções:
- TCP
- HTTP
- HTTPS
Valor padrão: TCP.
Two-Way Authentication
Defina este parâmetro apenas quando o Protocol estiver definido como HTTPS.
Determine se deve permitir que o APIG autentique o serviço de back-end da API. Para obter detalhes sobre como configurar o certificado para autenticação bidirecional, consulte Procedimento.
Path
Defina este parâmetro apenas quando Protocol não estiver definido como TCP.
O caminho de destino para verificações de integridade.
Method
- GET
- HEAD
Check Port
A porta de destino para verificações de integridade.
Se esse parâmetro não for especificado, a porta do canal de balanceamento de carga será usada por padrão.
Healthy Threshold
O número de verificações consecutivas bem-sucedidas necessárias para que um servidor de nuvem seja considerado íntegro.
Intervalo: 2–10. Valor padrão: 2
Unhealthy Threshold
O número de verificações consecutivas com falhas necessárias para que um servidor de nuvem seja considerado não íntegro.
Intervalo: 2–10. Valor padrão: 5.
Timeout (s)
O tempo limite usado para determinar se uma verificação de integridade falhou. Unidade: s.
Intervalo: 2–30. Valor padrão: 5.
Interval (s)
O intervalo entre verificações consecutivas. Unidade: s.
Intervalo: 5–300. Valor padrão: 10.
Códigos de resposta
Defina este parâmetro apenas quando Protocol não estiver definido como TCP.
Os códigos de HTTP usados para verificar uma resposta bem-sucedida de um destino.
- Clique em Finish.
Para um canal de microsserviço, adicionar, excluir ou modificar um endereço IP de pod da carga de trabalho de CCE também alterará o endereço do servidor back-end do canal.
Figura 2 Detalhes do canal de balanceamento de carga de microsserviços
Operações de acompanhamento
- Verifique se uma rota foi adicionada ao gateway. Para conectar uma carga de trabalho do CCE a um gateway por meio da mesma VPC (com segmentos de rede estendidos) ou de uma conexão de emparelhamento de VPC, você precisa adicionar uma rota.
- Faça logon no console do CCE, escolha Clusters e clique no nome do cluster do CCE criado.
- Na área Networking Configuration da página Cluster Details, visualize e registre o bloco CIDR do container.
- Faça logon no console do APIG e clique no nome do gateway na página Gateways.
- Na área Routes da página Gateway Information, verifique se a rota adicionada é consistente com o bloco CIDR do container. Caso contrário, adicione a rota correta.
- Crie APIs para expor serviços de back-end implementados na carga de trabalho.