Todos os produtos
Search
Central de documentação

Auto Scaling:Automatically build and update images for ECI scaling groups by using an Alibaba Cloud DevOps pipeline

Última atualização: Oct 15, 2026

Integre os pipelines do Alibaba Cloud DevOps ao Auto Scaling para compilar e implantar imagens de contêiner no seu grupo de dimensionamento do ECI automaticamente e com um único clique.

Como funciona

Esta solução utiliza os pipelines do Alibaba Cloud DevOps para automatizar a compilação e a implantação de imagens após a atualização do seu código:

  1. O pipeline compila o repositório de código em uma imagem de contêiner.

  2. O pipeline publica a imagem no Container Registry (ACR).

  3. O pipeline utiliza o Operation Orchestration Service (OOS) para atualizar as instâncias do grupo de dimensionamento e a configuração de dimensionamento para usar a nova imagem.

What is Alibaba Cloud DevOps?

Pré-requisitos

Se você fizer login com um usuário do RAM, certifique-se de ter as permissões necessárias. Manage RAM user permissions.

Exemplo de política personalizada

{
    "Version": "1",
    "Statement": [
        {
            "Action": [
                "ess:*",
                "cr:*",
                "rdc:*",
                "vpc:Describe*",
                "ecs:DescribeSecurityGroups",
                "oos:ListExecutions",
                "oos:ListTaskExecutions",
                "oos:GetExecutionTemplate",
                "eci:Describe*",
                "eci:ListUsage",
                "oss:GetExecutionTemplate",
                "ram:GetRole"
            ],
            "Resource": "*",
            "Effect": "Allow"
        }
    ]
}

Configure o ambiente

Siga as etapas abaixo para configurar a implantação de imagens com um clique.

Etapa 1: Crie um repositório do Container Registry (ACR)

Importante

Se você já possui um repositório do Container Registry (ACR), pule esta etapa.

O repositório armazena as imagens compiladas.

  1. Acesse o console do Container Registry.

  2. Crie uma instância do Container Registry.

    1. Na barra de navegação superior, selecione uma região.

      Nota

      Mantenha o repositório e o grupo de dimensionamento na mesma região para permitir a comunicação da VPC por meio de nomes de domínio internos. Configurações entre regiões exigem acesso à rede pública tanto para o repositório quanto para as instâncias do grupo de dimensionamento.

    2. Na página Instances, clique em Personal Instance e aguarde a criação da instância.

    3. Após a criação da instância, clique em Reset Docker Login Password na página de detalhes da instância e siga as instruções na tela para definir a senha.

  3. Após definir a senha de login do registro, no painel de navegação esquerdo, clique em Namespaces. Em seguida, clique em Create Namespace e siga as instruções na tela para criar um namespace.

  4. No painel de navegação esquerdo, escolha Repositories e clique em Create Repository. Configure os parâmetros conforme solicitado. A tabela a seguir descreve os principais parâmetros.

    • Repository information

      Parâmetro

      Descrição

      Exemplo

      Namespaces

      Selecione o namespace criado na etapa anterior.

      ess_eci_test_namespace

      Repository Name

      Insira um nome personalizado para o repositório.

      ess_eci_test_repo

      Repository Type

      Selecione Private.

      Private

      Summary

      Insira uma breve descrição sobre a finalidade do repositório.

      test

    • Code source

      Selecione Local Repository e clique em Create Repository.

  5. Após a criação do repositório, você será redirecionado para a página Details. Encontre e copie o Public endpoint para uso posterior.

Etapa 2: Crie um grupo de dimensionamento do ECI

Importante

Se você já possui um grupo de dimensionamento, pule esta etapa.

Você pode criar um grupo de dimensionamento das seguintes formas:

  • Usando um arquivo YAML

  • Usando o formulário do console web

Usar arquivo YAML

  1. Acesse o console do Auto Scaling.

  2. Na barra de navegação superior, selecione uma região. No painel de navegação esquerdo, clique em Scaling Groups e, em seguida, clique em Create Scaling Group.

  3. Na aba Create by YAML File, configure o grupo de dimensionamento e clique em Create. Este tópico utiliza a seguinte configuração. Configure an ECI scaling group by using a Kubernetes YAML file.

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: nginx-demo
      annotations:
        k8s.aliyun.com/ess-scaling-group-name: ess-eci-test
        k8s.aliyun.com/ess-scaling-group-min-size: 0
        k8s.aliyun.com/ess-scaling-group-max-size: 5
    spec:
      selector:
        matchLabels:
          app: nginx-demo
      replicas: 0
      template:
        metadata:
          labels:
            app: nginx-demo
          annotations:
            k8s.aliyun.com/eci-with-eip: false
        spec:
          containers:
            - name: nginx
              image: registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx:latest
              ports:
                - containerPort: 80
                  name: http
                - containerPort: 443
                  name: https
              resources:
                requests:
                  memory: 0.05Gi
                  cpu: 50m
                limits:
                  memory: 1Gi
                  cpu: '1'
    Aviso

    Use a imagem do seu próprio aplicativo, se disponível; caso contrário, use a imagem de exemplo. O pipeline a substituirá posteriormente. Uma imagem é necessária para criar o grupo de dimensionamento.

    A tabela a seguir descreve os parâmetros.

    Parâmetro

    Descrição

    Exemplo

    k8s.aliyun.com/ess-scaling-group-name

    O nome do grupo de dimensionamento.

    ess-eci-test

    k8s.aliyun.com/ess-scaling-group-min-size

    Número mínimo de instâncias no grupo de dimensionamento. O Auto Scaling adiciona instâncias quando a quantidade fica abaixo deste valor.

    0

    k8s.aliyun.com/ess-scaling-group-max-size

    Número máximo de instâncias no grupo de dimensionamento. O Auto Scaling remove instâncias quando a quantidade excede este valor.

    5

    k8s.aliyun.com/eci-with-eip

    Se deve atribuir automaticamente um endereço Elastic IP (EIP).

    false

Usar formulário do console

  1. Acesse o console do Auto Scaling.

  2. Na barra de navegação superior, selecione uma região.

  3. Crie um grupo de dimensionamento.

    1. No painel de navegação esquerdo, clique em Scaling Groups e, em seguida, clique em Create Scaling Group.

    2. Na aba Create by Form, configure o grupo de dimensionamento e clique em Create. Este tópico utiliza a seguinte configuração. Create a scaling group.

      Parâmetro

      Descrição

      Exemplo

      Scaling Group Name

      Insira um nome para o grupo de dimensionamento.

      ess-eci-test

      Type

      Selecione ECI. Isso especifica que as instâncias no grupo de dimensionamento são instâncias do ECI.

      ECI

      Instance Configuration Source

      Cria uma configuração de dimensionamento após a criação do grupo de dimensionamento.

      Create from Scratch

      Minimum Number of Instances

      O número mínimo de instâncias do ECI no grupo de dimensionamento.

      0

      Maximum Number of Instances

      O número máximo de instâncias do ECI no grupo de dimensionamento.

      5

      VPC

      As instâncias neste grupo de dimensionamento são implantadas nesta VPC.

      vpc-test****-001

      vSwitch

      Especifique vSwitches em várias zonas para melhorar as taxas de sucesso de scale-out.

      vsw-test****

  4. Crie uma configuração de dimensionamento para o grupo de dimensionamento.

    1. Encontre o grupo de dimensionamento que você acabou de criar e clique em More para acessar a página de detalhes do grupo de dimensionamento.

    2. Na aba Instance Configuration Sources, clique em Scaling Configuration e, em seguida, clique em Create Scaling Configuration para acessar a página Create Scaling Configuration.

    3. Este tópico utiliza a seguinte configuração. Mantenha todos os outros parâmetros com seus valores padrão. Após concluir a configuração, clique em Confirm Configuration e, em seguida, clique em Create Order. Create a scaling configuration for ECI instances.

      Parâmetro

      Descrição

      Exemplo

      Billing Method

      Selecione um método de cobrança de acordo com seus requisitos.

      Pay-as-you-go

      Security Group

      Selecione um grupo de segurança de acordo com seus requisitos.

      sg-****oer

      Container Configuration > Container Name

      Insira um nome para o seu contêiner.

      nginx

      Container Configuration > Image

      Selecione a imagem e a versão para o contêiner.

      Aviso

      Use a imagem do seu próprio aplicativo, se disponível; caso contrário, use a imagem de exemplo. Uma imagem é necessária para criar o grupo de dimensionamento.

      • Image Name: registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx

      • Image Tag: latest

    4. Na aba Scaling Configuration, encontre a configuração de dimensionamento que você acabou de criar e clique em Enable.

Etapa 3: Configure um pipeline do DevOps

Configure um pipeline do Alibaba Cloud DevOps para automatizar a compilação e a implantação de imagens.

  1. Na página Scaling Groups, clique na aba Publish Management e, em seguida, clique em Release with Alibaba Cloud DevOps.

  2. Selecione uma organização do Alibaba Cloud DevOps e clique em Next.

    Importante

    Se você não criou uma organização do Alibaba Cloud DevOps, clique em Create Organization e siga as instruções. Após selecionar uma organização, conclua a autorização conforme solicitado.

  3. Configure o pipeline.

    1. Configure a origem do pipeline. Na seção Pipeline Source, clique em Add, selecione Sample Code Source e clique em Add.

      Nota

      Se você tiver sua própria origem de código, selecione a URL do seu repositório de código conforme solicitado.

    2. Adicione uma tarefa de compilação de imagem.

      1. Na seção Image Building Task, clique em Add.

      2. Na seção Image Building Task > Select Service Connection, clique em Create Service Connection. Você será redirecionado para a página de gerenciamento de conexões de service do Alibaba Cloud DevOps. Clique em Create Service Connection.

      3. Selecione Container Registry (ACR), clique em Next, selecione um service para Service Authorization e clique em Create. Se nenhum service estiver disponível, clique em Create para acessar a página de autorização.

      4. Retorne à página Image Building Task. Para o parâmetro Select Service Connection, selecione a conexão de service que você criou. Para o parâmetro Repositories, selecione o repositório que você criou. Em seguida, clique em Add.

        Defina Image type como Personal Edition, selecione Alibaba Cloud DevOps Beijing Build Cluster para Build cluster e selecione a região de destino, como China (Hangzhou), para Region.

    3. Adicione uma tarefa de implantação.

      1. Na seção Deployment Task, clique em Add. Na seção Select Service Connection, clique em Create Service Connection.

        No painel de configuração da tarefa de implantação, defina Task name como ESS ECI Deployment, selecione Alibaba Cloud DevOps Beijing Build Cluster para Build cluster, selecione nginx para Container to update, defina Release batches como 2 batches e defina Batch method como Auto-confirm.

      2. Para Service Connection Type, selecione Auto Scaling (ESS), clique em Next e, em seguida, clique em Create.

      3. Na seção Image Deployment, selecione Image built and pushed to Alibaba Cloud Container Registry Personal Edition.Image VPC Address e clique em Add.

        Nota

        Se o seu grupo de dimensionamento e o Container Registry estiverem na mesma região, selecione Image VPC Address. Configurações entre regiões exigem acesso à rede pública para baixar a imagem.

    4. Clique em Create.

Execute o pipeline

Importante

Para permitir que outro usuário do RAM use este recurso, certifique-se de que o usuário do RAM pertence à sua organização do Alibaba Cloud DevOps e tem permissões de pipeline. O usuário do RAM precisa de, no mínimo:

  • Permissões de gerenciamento no Alibaba Cloud DevOps (RDC).

  • Acesso de somente leitura ao Resource Access Management (RAM).

  • Permissões de gerenciamento no Operation Orchestration Service (OOS).

Após atualizar seu código, na aba Publish by Using Apsara DevOps, clique em Run para compilar e implantar a nova imagem no seu grupo de dimensionamento.

  1. Pré-requisitos

    • O ambiente está configurado. Configure the environment.

    • Você atualizou seu código e fez o push para o repositório de código.

  2. Compile e implante a imagem com um clique.

    1. Acesse o grupo de dimensionamento, clique na aba Publish Management, clique na subaba Release with Alibaba Cloud DevOps e, em seguida, clique em Run. Uma nova entrada aparecerá na lista de histórico de execuções.

    2. Na lista de histórico de execuções, clique em Details para monitorar o pipeline. Após a conclusão, as instâncias do grupo de dimensionamento e a configuração de dimensionamento são atualizadas automaticamente, garantindo que as novas instâncias de scale-out usem a nova imagem.

      • Na aba Instance Configuration Sources, encontre a configuração de dimensionamento ativa, clique em Modify e verifique se o campo Container Configuration > Image foi atualizado.

      • Acione manualmente um evento de scale-out. Na aba Instances, clique na instância do ECI recém-adicionada para confirmar que ela usa a nova imagem.

      • Para instâncias do ECI existentes, acesse a aba Instances, clique no nome de uma instância para abrir sua página de detalhes e confirme que a imagem foi atualizada.