全部产品
Search
文档中心

CloudOps Orchestration Service:Buat template

更新时间:Jun 28, 2025

Topik ini menjelaskan cara membuat template kustom di konsol CloudOps Orchestration Service (OOS). Dalam topik ini, template kustom dibuat berdasarkan template ACS-OOS-ExampleBulkyExecuteCommandsInEcs.CloudOps Orchestration Service (OOS)

  1. Masuk ke CloudOps Orchestration Service console.

  2. Di panel navigasi sisi kiri, pilih Automated Task > Custom Template. Di halaman Template Kustom, klik Create Template.image

  3. Gunakan template sampel atau file lokal untuk membuat template.

    • Pilih ACS-OOS-ExampleBulkyExecuteCommandsInEcs untuk parameter Template O&M, lalu klik Next Step.image

    • Jika Anda telah membuat file template .yaml atau .json yang digunakan untuk menjalankan perintah pada beberapa instance Elastic Compute Service (ECS) secara bersamaan, pilih Buat dari File Lokal dan unggah file tersebut. Setelah mengunggah file template, klik Next Step.image

      Konten File Template

      FormatVersion: OOS-2019-06-01
      Description: Jalankan perintah pada beberapa instance ECS secara bersamaan.
      Parameters:
        targets:
          Label:
            en: TargetInstance
             
          Type: Json
          AssociationProperty: Targets
          AssociationPropertyMetadata:
            ResourceType: ALIYUN::ECS::Instance
            RegionId: regionId
        rateControl:
          Label:
            en: RateControl
             
          Type: Json
          AssociationProperty: RateControl
          Default:
            Mode: Concurrency
            MaxErrors: 0
            Concurrency: 10
      Tasks:
        - Name: getInstance
          Description: Dapatkan instance ECS.
          Action: ACS::SelectTargets
          Properties:
            ResourceType: ALIYUN::ECS::Instance
            Filters:
              - '{{ targets }}'
          Outputs:
            instanceIds:
              Type: List
              ValueSelector: Instances.Instance[].InstanceId
        - Name: runCommand
          Action: ACS::ECS::RunCommand
          Description: Jalankan perintah Cloud Assistant.
          Properties:
            instanceId: '{{ ACS::TaskLoopItem }}'
            commandType: RunShellScript
            commandContent: |-
              #!/bin/bash
      
               
              function job_start()
              {
                  now=`date +'%Y-%m-%d %H:%M:%S'`
                  echo "[$now][$$] job_start"
              }
      
               
              job_start
            regionId: '{{ ACS::RegionId }}'
            workingDir: /root
            enableParameter: false
            timeout: 600
            username: ''
            parameters: {}
            windowsPasswordName: ''
          Outputs:
            invocationOutput:
              Type: String
              ValueSelector: invocationOutput
          Loop:
            Items: '{{ getInstance.instanceIds }}'
            RateControl: '{{ rateControl }}'
            Outputs:
              invocationOutputs:
                AggregateType: Fn::ListJoin
                AggregateField: invocationOutput
      Outputs:
        invocationOutputs:
          Type: List
          Value: '{{ runCommand.invocationOutputs }}'
      
      {
        "FormatVersion": "OOS-2019-06-01",
        "Description": "Jalankan perintah pada beberapa instance ECS secara bersamaan",
        "Parameters": {
          "targets": {
            "Label": {
              "en": "TargetInstance",
               
            },
            "Type": "Json",
            "AssociationProperty": "Targets",
            "AssociationPropertyMetadata": {
              "ResourceType": "ALIYUN::ECS::Instance",
              "RegionId": "regionId"
            }
          },
          "rateControl": {
            "Label": {
              "en": "RateControl",
               
            },
            "Type": "Json",
            "AssociationProperty": "RateControl",
            "Default": {
              "Mode": "Concurrency",
              "MaxErrors": 0,
              "Concurrency": 10
            }
          }
        },
        "Tasks": [
          {
            "Name": "getInstance",
            "Description": “Dapatkan instance ECS",
            "Action": "ACS::SelectTargets",
            "Properties": {
              "ResourceType": "ALIYUN::ECS::Instance",
              "Filters": [
                "{{ targets }}"
              ]
            },
            "Outputs": {
              "instanceIds": {
                "Type": "List",
                "ValueSelector": "Instances.Instance[].InstanceId"
              }
            }
          },
          {
            "Name": "runCommand",
            "Action": "ACS::ECS::RunCommand",
            "Description": "Jalankan perintah Cloud Assistant",
            "Properties": {
              "instanceId": "{{ ACS::TaskLoopItem }}",
              "commandType": "RunShellScript",
              "commandContent": "#!/bin/bash\n\n \nfunction job_start()\n{\n    now=`date +'%Y-%m-%d %H:%M:%S'`\n    echo \"[$now][$$] job_start\"\n}\n\n
              "regionId": "{{ ACS::RegionId }}",
              "workingDir": "/root",
              "enableParameter": false,
              "timeout": 600,
              "username": "",
              "parameters": {},
              "windowsPasswordName": ""
            },
            "Outputs": {
              "invocationOutput": {
                "Type": "String",
                "ValueSelector": "invocationOutput"
              }
            },
            "Loop": {
              "Items": "{{ getInstance.instanceIds }}",
              "RateControl": "{{ rateControl }}",
              "Outputs": {
                "invocationOutputs": {
                  "AggregateType": "Fn::ListJoin",
                  "AggregateField": "invocationOutput"
                }
              }
            }
          }
        ],
        "Outputs": {
          "invocationOutputs": {
            "Type": "List",
            "Value": "{{ runCommand.invocationOutputs }}"
          }
        }
      }
  4. Opsional: Pengaturan dalam langkah tugas getInstance sudah diatur sebelumnya. Jika ingin mengubah pengaturan, klik targets di bagian Template Parameters.

    Catatan

    Pilih instance ECS tempat Anda ingin menjalankan perintah dan konfigurasikan informasi instans saat membuat eksekusi. Untuk informasi lebih lanjut, lihat Buat Eksekusi.

  5. Di tab Konfigurasi Proses, masukkan command content di editor kode, lalu klik Create Template.

    image

  6. Di kotak dialog Informasi Dasar Template, atur parameter Template Name, lalu klik OK.image

Referensi

  • Setelah membuat template, Anda dapat membuat eksekusi berdasarkan template dan memulai eksekusi. Untuk informasi lebih lanjut, lihat Buat Eksekusi.

  • Jika Anda memahami risiko semua tugas dalam sebuah template, Anda dapat mengatur parameter Mode Eksekusi ke Otomatis saat membuat eksekusi. Untuk informasi lebih lanjut, lihat Eksekusi Otomatis.

  • Jika Anda ingin memulai eksekusi secara manual, Anda dapat mengatur parameter Mode Eksekusi ke Manual saat membuat eksekusi. Untuk informasi lebih lanjut, lihat Eksekusi Manual.