Todos os produtos
Search
Central de documentação

CloudOps Orchestration Service:Gerencie extensões personalizadas em lotes

Última atualização: Sep 06, 2026

O OOS (CloudOps Orchestration Service) permite gerenciar software em lotes. Além de instalar software por meio de agentes da Alibaba Cloud ou ferramentas de gerenciamento de pacotes, o OOS também possibilita a instalação de extensões personalizadas. Uma extensão personalizada pode ser um pacote de software padrão, como um arquivo RPM, DEB ou MSI. Esse recurso permite gerenciar software com eficiência em diferentes plataformas e arquiteturas. Este tópico descreve como criar e gerenciar extensões personalizadas em lotes.

Pré-requisitos

  1. Você precisa de uma instância ECS implantada em uma VPC.

    Para mais informações, consulte Create an instance by using the wizard. A instalação ou desinstalação de extensões personalizadas só é possível em instâncias dentro de uma VPC. Certifique-se de que o tipo de rede da sua instância ECS seja VPC.

    Confirmar se o tipo de rede é VPC

    1. Faça logon no ECS console.

    2. No painel de navegação à esquerda, escolha Instances & Images > Instances.

    3. Localize a instância ECS desejada e verifique a coluna Network Type para confirmar que a instância está em uma VPC.

  2. Você precisa associar uma função RAM à sua instância ECS.

    Para mais informações, consulte Step 1: Create a RAM role. Ao criar a função, atente-se às seguintes configurações de parâmetros:

    1. Crie uma política de permissões personalizada.

      Para mais informações, consulte Create a custom permission policy. A função RAM deve incluir as permissões da seguinte política:

      Script JSON da política de permissões

      {
          "Version": "1",
          "Statement": [
              {
                  "Action": [
                      "oos:GetTemplate"
                  ],
                  "Resource": "*",
                  "Effect": "Allow"
              },
              {
                  "Action": [
                      "oss:GetObject",
                      "oss:GetBucketAcl"
                  ],
                  "Effect": "Allow",
                  "Resource": "*"
              }
          ]
      }
    2. Crie uma função RAM.

      Para mais informações, consulte Create a normal service role. Observe as seguintes configurações de parâmetros:

      • Em Alibaba Cloud Service, selecione Alibaba Cloud Service.

      • Em Role Type, selecione Normal Service Role.

      • Em Elastic Compute Service, selecione Elastic Compute Service.

    3. Conceda permissões à função RAM.

      Ao conceder permissão a uma função RAM, em Permission Policy, selecione a política personalizada criada em 2.a Create a custom permission policy. Para mais informações, consulte Manage the permissions of a RAM role.

    4. Associe a função RAM à instância ECS.

      No parâmetro RAM Role, selecione a função criada e configurada nas etapas anteriores. Para mais informações, consulte Step 1: Create a RAM role.

  3. Você precisa de um bucket do OSS para armazenar suas extensões personalizadas.

    Para mais informações, consulte Create buckets. Ao selecionar uma Region, escolha Region-specific e selecione a mesma região onde você utiliza o OOS.

Criar uma extensão personalizada

  1. Acesse o console do OOS, escolha Server Management > Extensions no painel de navegação à esquerda e clique na aba Custom Extensions.

  2. Clique em Create Custom Extension. Na seção Basic Information, configure os parâmetros e clique em Next Step.

    As extensões personalizadas são visíveis apenas para você. Use sua conta para instalá-las ou desinstalá-las. A tabela a seguir descreve os principais parâmetros.

    Parâmetro

    Descrição

    Extension Type

    Categoria da extensão. Selecione Driver, Performance Acceleration, Agent ou Application conforme suas necessidades de negócios.

    Version Description

    A primeira versão criada recebe automaticamente o rótulo V1. Após criar a extensão, visualize o número da versão e os detalhes na página de detalhes correspondente.

    Nota

    Para modificar a extensão, use o recurso de atualização. Ao atualizar uma extensão, o sistema cria automaticamente uma nova versão, como V2.

    Supported Scope

    Define as condições de uso da extensão, incluindo famílias de instâncias compatíveis, tipos de imagem e plataformas ou versões de sistemas operacionais. Após definir esse escopo, os usuários poderão selecionar apenas extensões aplicáveis ao instalar extensões na página de compra do ECS ou na página de detalhes da instância ECS.

    Command Parameter

    Especifica os parâmetros de entrada para os comandos da extensão. É possível adicionar vários parâmetros, cujos tipos podem ser string, numérico ou booleano. Defina o nome do parâmetro, o valor padrão e a descrição. Após configurar os parâmetros do comando de instalação, os usuários deverão fornecer valores para esses parâmetros ao instalar a extensão na página de compra do ECS ou na página de detalhes da instância ECS.

  3. Na etapa Extension Configuration, configure os parâmetros.

    Nota

    É possível adicionar várias configurações de extensão. Durante a instalação, o sistema localiza a configuração correspondente ao sistema operacional e à arquitetura da instância ECS. Em seguida, o sistema baixa o pacote de software apropriado e executa o script de instalação ou desinstalação especificado para concluir o processo.

    脚本.png

    Os códigos abaixo apresentam exemplos de Installation Execution Script e Uninstallation Execution Script:

    • Exemplo de script de execução de instalação

      #!/bin/bash
      #######  Notes on the installation script template for a single-process software package  #########
      #1. This script runs in the root directory by default. For Linux, the default directory is /root.
      #2. After the software is successfully installed, the remote download path is deleted by default.
      #3. We recommend that you add your custom logic in the job_start function.
      #4. You must store the process ID of the software package in the specified path.
      
      #######  error code specification  #########
      # Please update this documentation if new error codes are added.
      # 1   => Installation failed.
      # 2   => Health check failed.
      # 3   => Failed to record process ID.
      # 4   => User shell script failed.
      
      function user_shell() {
          # Custom installation script START
          $nohup java -jar demo-1.0.0-SNAPSHOT.jar > /demo.log 2>&1 &
          # Custom installation script END
      }
      
      ##### You can call this function when the script starts to print the timestamp and PID and record the process ID to the specified path.
      function job_start() {
          user_shell
          if [ $? -ne 0 ]; then
              exit4
          else
              # Do not delete this constraint.
              now=$(date +'%Y-%m-%d %H:%M:%S')
              pid=$!
              echo "[$now][$pid] job_start"
              pidPath="/etc/aliyun"
              if [ ! -d $pidPath ]; then
                  mkdir -p /etc/aliyun
                  echo "Create the PID storage path: $pidPath"
              fi
              echo "$pid" > "$pidPath/main_process_id"
              if [ $? -ne 0 ]; then
                  exit3
              fi
          fi
      }
      
      ##### In this function, check whether the service is running. For example, you can check the process or run a curl command to an HTTP address.
      function check_health() {
          now=$(date +'%Y-%m-%d %H:%M:%S')
          echo "[$now][$$] check_health"
      }
      
      function exit1() {
        echo "exit code 1, install fail"
        exit 1
      }
      
      function exit2() {
        echo "exit code 2, check health fail"
        exit 2
      }
      
      function exit3() {
        echo "exit code 3, record process id fail"
        exit 3
      }
      
      function exit4() {
        echo "exit code 4, user shell fail"
        exit 4
      }
      
      ##### A return value of 0 indicates success. A non-zero value indicates failure.
      function main() {
          job_start
          if [ $? -ne 0 ]; then
              exit1
          fi
          check_health
          if [ $? -ne 0 ]; then
              exit2
          fi
      }
      
      ##### OOS automatically records logs for triggered executions.
      main
    • Exemplo de script de execução de desinstalação

      #!/bin/bash
      ##### You can call this function when the script starts to print the current timestamp and PID.
      function job_stop() {
          pid=$(cat /etc/aliyun/main_process_id)
          kill -9 $pid
          now=`date +'%Y-%m-%d %H:%M:%S'`
          echo "[$now][$pid] job_stop"
      }
      
      job_stop
      if [ $? -ne 0 ]; then
          echo "[$now][$$] job stop failed."
          exit 1
      fi
  4. Clique em Create.

    Após a criação, a extensão estará disponível na aba Custom Extensions.

    我的软件.png

Instalar uma extensão personalizada

  1. Acesse o OOS console, escolha Automated Tasks > Common O&M Tasks > Batch Software Management no painel de navegação à esquerda e clique em Create.

  2. Na página Create Batch Software Management Task, configure os parâmetros e clique em Create.

    • Em Operation, selecione Install.

    • Em Extension Name, selecione Custom Extensions e escolha a extensão personalizada que deseja instalar.

    • Em Select Instances, selecione Manually Select Instances. Na lista de instâncias, marque as instâncias ECS onde deseja instalar a extensão personalizada. Garanta que as instâncias estejam implantadas em uma VPC.

  3. Na caixa de diálogo Parameter Confirmation, verifique os parâmetros e clique em OK para criar a execução.

    Após criar a execução, acesse a página Task Execution Management para visualizar o status de instalação da extensão personalizada na lista de tarefas.

    任务执行管理.png

Desinstalar uma extensão personalizada

  1. Acesse o OOS console, escolha Automated Tasks > Common O&M Tasks > Batch Software Management no painel de navegação à esquerda e clique em Create.

  2. Na página Create Batch Software Management Task, configure os parâmetros e clique em Create.

    • Em Operation, selecione Uninstall.

    • Em Extension Name, selecione Custom Extensions e escolha a extensão personalizada que deseja desinstalar.

    • Em Select Instances, selecione Manually Select Instances e marque as instâncias ECS das quais deseja remover a extensão personalizada.

  3. Na caixa de diálogo Parameter Confirmation, verifique os parâmetros e clique em OK para criar a execução.

    Após criar a execução, acesse a página Task Execution Management para verificar a lista de tarefas e confirmar a desinstalação da extensão personalizada.

    任务执行管理.png