Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Central de ajuda/ API Gateway/ Guia de usuário/ Políticas da API/ Canais de balanceamento de carga
Atualizado em 2024-10-14 GMT+08:00

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.

Figura 1 Acessar ECSs em um canal de balanceamento de carga por meio do APIG

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

  1. Vá para o console do APIG.
  2. Selecione um gateway na parte superior do painel de navegação.
  3. No painel de navegação, escolha API Management > API Policies.
  1. Clique na guia Load Balance Channels.
  2. 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

    • Server: as solicitações de API serão distribuídas para ECSs ou endereços IP de servidor especificados no canal. Para mais detalhes, consulte 6.
    • Microservice: as solicitações de API serão distribuídas para endereços IP de microsserviços no canal. Para mais detalhes, consulte 7.

  3. 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
      1. 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.

      2. 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.

      3. Após a conclusão da configuração, configure a verificação de integridade.
    • Especificar endereços IP
      1. 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.

      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.

      3. Após a conclusão da configuração, configure a verificação de integridade.

  4. Configure um microsserviço e um grupo de servidores.

    1. 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

    2. 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'
    3. Após a conclusão da configuração, configure a verificação de integridade.

  5. 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.

  6. 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

  1. 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.
    1. Faça logon no console do CCE, escolha Clusters e clique no nome do cluster do CCE criado.
    2. Na área Networking Configuration da página Cluster Details, visualize e registre o bloco CIDR do container.
    3. Faça logon no console do APIG e clique no nome do gateway na página Gateways.
    4. 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.
  2. Crie APIs para expor serviços de back-end implementados na carga de trabalho.