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.
Atualizado em 2024-08-05 GMT+08:00

Procedimento de implementação

Preparação de uma carga de trabalho do CCE

  1. Compre um cluster.

    1. Faça logon no console do CCE e compre um cluster do CCE (modelo de rede da VPC) ou um cluster Turbo na página Clusters. Selecione CCE Cluster e defina Network Model como VPC network. Para obter detalhes, consulte Compra de um cluster do CCE.
    2. Depois que o cluster é criado, registre o bloco CIDR do container.
    3. Adicione este bloco CIDR na área Routes de um gateway dedicado.
      1. Faça logon no console do APIG e escolha Gateways no painel de navegação.
      2. Clique no nome do gateway para acessar a página de detalhes.
      3. Adicione o bloco CIDR do container na área Routes.

  2. Crie uma carga de trabalho.

    1. Na página Clusters do console do CCE, clique no nome do cluster para acessar a página de detalhes.
    2. No painel de navegação, escolha Workloads.
    3. Clique em Create Workload. Defina Workload Type como Deployment. Para obter detalhes, consulte o Guia de usuário do CCE.

      Na área Advanced Settings > Labels and Annotations, defina rótulos de pod para alternar a carga de trabalho e a versão de serviço. Neste exemplo, defina app=deployment-demo e version=v1. Se você criar uma carga de trabalho importando um arquivo YAML, adicione rótulos de pod nesse arquivo. Para obter detalhes sobre os rótulos do pod, consulte Rótulos e anotações de pods

      Adicione rótulos de pod em um arquivo YAML:

      spec:
        replicas: 2
        selector:
          matchLabels:
            app: deployment-demo
            version: v1
        template:
          metadata:
            creationTimestamp: null
            labels:
              app: deployment-demo
              version: v1

Método 1: abrir uma carga de trabalho do CCE criando um canal de balanceamento de carga

  1. Crie um canal de balanceamento de carga.

    1. Vá para o console do APIG e escolha Gateways no painel de navegação.
    2. Escolha API Management > API Policies.
    3. Na guia Load Balance Channels, clique em Create Load Balance Channel.
      1. Defina as informações básicas.
        Tabela 1 Parâmetros de informações básicas

        Parâmetro

        Descrição

        Name

        Insira um nome que esteja em conformidade com regras específicas para facilitar a pesquisa. Neste exemplo, insira VPC_demo.

        Port

        Porta de container de uma carga de trabalho para serviços de abertura. Defina esse parâmetro como 80, que é a porta HTTP padrão.

        Routing Algorithm

        Selecione WRR. Esse algoritmo será usado para encaminhar solicitações para cada um dos servidores de nuvem que você selecionar na ordem de peso do servidor.

        Type

        Selecione Microservice.

      2. Configure informações de microsserviços.
        Tabela 2 Configuração de microsserviços

        Parâmetro

        Descrição

        Microservice Type

        O Cloud Container Engine (CCE) é sempre selecionado.

        Cluster

        Selecione o cluster comprado.

        Namespace

        Selecione um namespace no cluster. Neste exemplo, selecione default.

        Workload Type

        Selecione Deployment. Este parâmetro deve ser o mesmo que o tipo da carga de trabalho criada.

        Service Label Key

        Selecione o rótulo do pod app e seu valor deployment-demo da carga de trabalho criada.

        Service Label Value

      3. Configure um grupo de servidores.
        Tabela 3 Configuração do grupo de servidores

        Parâmetro

        Descrição

        Server Group Name

        Digite server_group_v1.

        Weight

        Digite 1.

        Backend Service Port

        Digite 80. Isso deve ser o mesmo que a porta do container na carga de trabalho.

        Description

        Digite "Server group with version v1".

        Tag

        Selecione o rótulo do pod version=v1 da carga de trabalho criada.

      4. Configure verificação de integridade.
        Tabela 4 Configuração de verificação de integridade

        Parâmetro

        Descrição

        Protocol

        Padrão: TCP.

        Check Port

        Porta do servidor back-end no canal.

        Healthy threshold

        Padrão: 2. Este é o número de verificações consecutivas bem-sucedidas necessárias para que um servidor em nuvem seja considerado íntegro.

        Unhealthy Threshold

        Padrão: 5. Esse é o número de verificações consecutivas com falha necessárias para que um servidor em nuvem seja considerado não íntegro.

        Timeout (s)

        Padrão: 5. Este é o tempo limite usado para determinar se uma verificação de integridade falhou.

        Interval (s)

        Padrão: 10. Este é o intervalo entre verificações consecutivas.

      5. Clique em Finish.

        Na lista de canais de balanceamento de carga, clique em um nome de canal para exibir os detalhes.

  2. Abra uma API.

    1. Crie um grupo de APIs.
      1. Escolha API Management > API Groups.
      2. Clique em Create API Group e escolha Create Directly.
      3. Configure as informações do grupo e clique em OK.
    2. Crie uma API e vincule o canal de balanceamento de carga anterior a ela.
      1. Clique no nome do grupo para acessar a página de detalhes. Na guia APIs, clique em Create.
      2. Configure as informações de front-end e clique em Next.
        Tabela 5 Configuração de front-end

        Parâmetro

        Descrição

        API Name

        Insira um nome que esteja em conformidade com regras específicas para facilitar a pesquisa.

        Group

        Selecione o grupo de APIs anterior.

        URL

        Method: método de solicitação da API. Defina este parâmetro como ANY.

        Protocol: protocolo de solicitação da API. Defina este parâmetro como HTTPS.

        Subdomain Name: o sistema aloca automaticamente um nome de subdomínio para cada grupo de APIs para testes internos. O nome do subdomínio pode ser acessado 1000 vezes por dia.

        Path: caminho para solicitar a API.

        Gateway Response

        Selecione uma resposta a ser exibida se o gateway falhar ao processar uma solicitação de API. Padrão: default.

        Matching

        Selecione Prefix match.

        Authentication Mode

        Modo de autenticação da API. Selecione None. (None: não recomendado para serviços reais. Todos os usuários terão acesso à API.)

      3. Configure as informações de back-end e clique em Next.
        Tabela 6 Parâmetros para definir um serviço de back-end HTTP/HTTPS

        Parâmetro

        Descrição

        Load Balance Channel

        Determine se o serviço de back-end será acessado usando um canal de balanceamento de carga. Para este exemplo, selecione Configure.

        URL

        Method: método de solicitação da API. Defina este parâmetro como ANY.

        Protocol: defina este parâmetro como HTTP.

        Load Balance Channel: selecione o canal criado.

        Path: caminho do serviço de back-end.

      4. Defina a resposta e clique em Finish.
    3. Depure a API.

      Na guia APIs, clique em Debug. Clique no botão Debug no fundo vermelho. Se o código de status 200 for retornado no resultado da resposta, a depuração será bem-sucedida. Em seguida, vá para a próxima etapa. Caso contrário, corrija o erro indicado na mensagem de erro.

    4. Publique a API.

      Na guia APIs, clique em Publish, mantenha a opção padrão RELEASE e clique em OK. Quando o ponto de exclamação no canto superior esquerdo do botão Publish desaparecer, a publicação foi bem-sucedida. Em seguida, vá para a próxima etapa. Caso contrário, corrija o erro indicado na mensagem de erro.

  3. Chame a API.

    1. Vincule nomes de domínio independentes ao grupo desta API.

      Na página de detalhes do grupo, clique na guia Group Information. O nome de domínio de depuração é usado apenas para desenvolvimento e teste e pode ser acessado 1000 vezes por dia. Vincule nomes de domínio independentes para expor APIs no grupo.

      Clique em Bind Independent Domain Name para vincular nomes de domínio públicos registrados. Para obter detalhes, consulte Vinculação de um nome de domínio.

    2. Copie o URL da API.

      Na guia APIs, copie o URL da API. Abra um navegador e insira o URL. Quando a resposta de sucesso definida é exibida, a invocação é bem-sucedida.

      Figura 1 Cópia do URL

      Agora, a carga de trabalho do CCE é aberta criando um canal de balanceamento de carga.

Método 2: abrir uma carga de trabalho do CCE importando-a

  1. Importe uma carga de trabalho do CCE.

    1. Vá para o console do APIG e escolha Gateways no painel de navegação.
    2. Escolha API Management > API Groups.
    3. Escolha Create API Group > Import CCE Workload.
      1. Especifique informações sobre a carga de trabalho do CCE a ser importada.
        Tabela 7 Informações sobre a carga de trabalho

        Parâmetro

        Descrição

        Group

        Padrão: New group.

        Cluster

        Selecione o cluster comprado.

        Namespace

        Selecione um namespace no cluster. Neste exemplo, selecione default.

        Workload Type

        Selecione Deployment. Este parâmetro deve ser o mesmo que o tipo da carga de trabalho criada.

        Service Label Key

        Selecione o rótulo do pod app e seu valor deployment-demo da carga de trabalho criada.

        Service Label Value

        Tag

        Outro rótulo de pod version=v1 da carga de trabalho é selecionado automaticamente.

      2. Configure informações da API.
        Tabela 8 Informações da API

        Parâmetro

        Descrição

        Protocol

        Protocolo de solicitação da API. HTTPS é selecionado por padrão.

        Request Path

        Caminho de solicitação da API para correspondência de prefixo. Padrão: /. Neste exemplo, retenha o valor padrão.

        Port

        Digite 80. Isso deve ser o mesmo que a porta do container na carga de trabalho.

        Authentication Mode

        Padrão: None.

        CORS

        Desativado por padrão.

        Timeout (ms)

        Tempo limite de back-end. Padrão: 5000.

    4. Clique em OK. A carga de trabalho do CCE é importada, com um grupo de APIs, uma API e um canal de balanceamento de carga gerados.

  2. Veja a API gerada e o canal de balanceamento de carga.

    1. Veja a API gerada.
      1. Clique no nome do grupo de APIs e, em seguida, veja o nome da API, o método de solicitação e o status de publicação na guia APIs.
      2. Clique na guia Backend Configuration e veja o canal de balanceamento de carga vinculado.
    2. Veja o canal de balanceamento de carga gerado.
      1. Escolha API Management > API Policies.
      2. Na guia Load Balance Channels, clique no nome do canal para exibir os detalhes.
    3. Verifique se esse canal de balanceamento de carga é o vinculado à API e, em seguida, vá para a próxima etapa. Se não estiver, repita 1.

  3. Abra a API.

    Como a importação de uma carga de trabalho do CCE já cria um grupo de APIs e uma API, você só precisa publicar a API em um ambiente.
    1. Depure a API.

      Na guia APIs, clique em Debug. Clique no botão Debug no fundo vermelho. Se o código de status 200 for retornado no resultado da resposta, a depuração será bem-sucedida. Em seguida, vá para a próxima etapa.

    2. Publique a API.

      Na guia APIs, clique em Publish, mantenha a opção padrão RELEASE e clique em OK. Quando o ponto de exclamação no canto superior esquerdo do botão Publish desaparecer, a publicação foi bem-sucedida. Em seguida, vá para a próxima etapa.

  4. Chame a API.

    1. Vincule nomes de domínio independentes ao grupo desta API.

      Na página de detalhes do grupo, clique na guia Group Information. O nome de domínio de depuração é usado apenas para desenvolvimento e teste e pode ser acessado 1000 vezes por dia. Vincule nomes de domínio independentes para expor APIs no grupo.

      Clique em Bind Independent Domain Name para vincular nomes de domínio públicos registrados. Para obter detalhes, consulte Vinculação de um nome de domínio.

    2. Copie o URL da API.

      Na guia APIs, copie o URL da API. Abra um navegador e insira o URL. Quando a resposta de sucesso definida é exibida, a invocação é bem-sucedida.

      Figura 2 Cópia do URL

      Agora, a carga de trabalho do CCE foi aberta importando-a.

(Opcional) Configuração de rótulos de carga de trabalho para lançamento em escala de cinza

O lançamento em escala de cinza é uma política de lançamento de serviço que muda gradualmente o tráfego de uma versão anterior para uma versão posterior, especificando o peso da distribuição do tráfego. Os serviços são verificados durante o lançamento e a atualização. Se uma versão posterior atender à expectativa, você poderá aumentar a porcentagem de tráfego dessa versão e diminuir a da versão anterior. Repita esse processo até que uma versão posterior represente 100% e uma versão anterior seja reduzida a 0. Em seguida, o tráfego é alternado com sucesso para a versão posterior.

Figura 3 Princípio de lançamento em escala de cinza

As cargas de trabalho do CCE são configuradas usando o seletor de rótulo do pod para o lançamento em escala de cinza. Você pode implementar e verificar rapidamente novos recursos e alternar servidores para processamento de tráfego. Para obter detalhes, consulte Uso de serviços para implementar o lançamento simples em escala de cinza e a implementação azul-verde.

O seguinte descreve como alternar suavemente o tráfego de V1 para V2 por meio do lançamento em escala de cinza.

  1. Crie uma carga de trabalho, defina um rótulo de pod com o mesmo valor que o rótulo app da carga de trabalho anterior. Para obter detalhes, consulte a carga de trabalho anterior.

    Na página de criação da carga de trabalho, vá para a área Advanced Settings > Labels and Annotations e defina app=deployment-demo e version=v2. Se você criar uma carga de trabalho importando um arquivo YAML, adicione rótulos de pod nesse arquivo.

  2. Para o grupo de servidores com rótulo de pod version=v1, ajuste o peso do tráfego.

    1. No console do APIG, escolha Gateways no painel de navegação.
    2. Escolha API Management > API Policies.
    3. Na guia Load Balance Channels, clique no nome do canal criado.
    4. Na área Backend Server Address, clique em Modify.
    5. Altere o peso para 100 e clique em OK.

      Peso é a porcentagem de tráfego a ser encaminhado. Todo o tráfego será encaminhado para os endereços IP do pod no grupo de servidores server_group_v1.

  3. Crie um grupo de servidores com o rótulo do pod version=v2 e, em seguida, defina o peso do tráfego.

    1. Na área Backend Server Address, clique em Create Server Group.
      Tabela 9 Configuração do grupo de servidores

      Parâmetro

      Descrição

      Server Group Name

      Digite server_group_v2.

      Weight

      Digite 1.

      Backend Service Port

      Digite 80.

      Tag

      Selecione o rótulo do pod version=v2.

    2. Clique em OK.

  4. Atualize os endereços do servidor back-end.

    Atualize a página para os endereços de servidor back-end. O canal de balanceamento de carga monitora automaticamente os endereços IP do pod da carga de trabalho e adiciona dinamicamente os endereços como endereços de servidor back-end. Conforme mostrado na figura a seguir, as tags app=deployment-demo e version=v2 correspondem automaticamente aos endereços IP do pod (endereços de servidor back-end) da carga de trabalho.

    Figura 4 Endereços IP do pod correspondidos automaticamente

    100 de 101 (peso do grupo de servidores do peso total) tráfego é distribuído para server_group_v1 e o restante para a versão posterior de server_group_v2.

    Figura 5 Clique em Modify no canto superior direito da página.

  5. Verifique se os novos recursos lançados em V2 por meio da versão em escala de cinza estão funcionando de forma estável.

    Se a nova versão atender à expectativa, vá para 6. Caso contrário, o lançamento do novo recurso falhará.

  6. Ajuste os pesos dos grupos de servidores para diferentes versões.

    Diminua gradualmente o peso do server_group_v1 e aumente o do server_group_v2. Repita de 5 a 6 até que o peso do server_group_v1 seja 0 e o do server_group_v2 chegue a 100.

    Como mostrado na figura anterior, todas as solicitações são encaminhadas para server_group_v2. Novos recursos são alterados de deployment-demo da carga de trabalho de version=v1 para deployment-demo2 de version=v2 por meio do lançamento em escala de cinza. (Você pode ajustar o peso do tráfego para atender aos requisitos de serviço.)

  7. Exclua o grupo de servidores back-end server_group_v1 de version=v1.

    Agora todo o tráfego foi alterado para o grupo de servidores back-end de version=v2. Você pode excluir o grupo de servidores de version=v1.

    1. Vá para a página de detalhes do canal de balanceamento de carga no console do APIG, exclua todos os endereços IP do grupo de servidores de version=v1 na área Backend Server Address.
    2. Clique em Delete à direita desta área para excluir o grupo de servidores de version=v1.

      O grupo de servidores back-end server_group_v2 de version=v2 é mantido.