Tous les produits
Search
Centre de documentation

CloudOps Orchestration Service:ACS-CS-AttachInstancesToClusterByRunAttachScript

Dernière mise à jour :Aug 11, 2026

Nom du modèle

ACS-CS-AttachInstancesToClusterByRunAttachScript : ajoute des nœuds ECS existants à un cluster

Exécuter maintenant

Description du modèle

Ajoute des instances Elastic Compute Service (ECS) existantes en tant que nœuds à un cluster.

Type de modèle

Automatisé

Propriétaire

Alibaba Cloud

Paramètres d'entrée

Paramètre

Description

Type

Obligatoire

Valeur par défaut

Limite

targets

Instances ECS cibles.

Json

Oui

clusterId

ID du cluster.

String

Oui

regionId

ID de la région.

String

Non

{{ ACS::RegionId }}

rateControl

Paramètres de concurrence pour l'exécution des tâches.

Json

Non

{'Mode': 'Concurrency', 'MaxErrors': 0, 'Concurrency': 10}

OOSAssumeRole

Rôle RAM endossé par CloudOps Orchestration Service (OOS).

String

Non

""

Paramètres de sortie

Paramètre

Description

Type

commandOutputs

List

Stratégie d'autorisation requise pour exécuter le modèle

{
    "Version": "1",
    "Statement": [
        {
            "Action": [
                "ecs:DescribeInstances",
                "ecs:DescribeInvocationResults",
                "ecs:DescribeInvocations",
                "ecs:RunCommand"
            ],
            "Resource": "*",
            "Effect": "Allow"
        },
        {
            "Action": [
                "oos:GetApplicationGroup"
            ],
            "Resource": "*",
            "Effect": "Allow"
        },
        {
            "Action": [
                "cs:DescribeClusterAttachScripts"
            ],
            "Resource": "*",
            "Effect": "Allow"
        }
    ]
}

Détails

Pour plus d'informations, consultez le fichier ACS-CS-AttachInstancesToClusterByRunAttachScript.yml sur GitHub.

Contenu du modèle

FormatVersion: OOS-2019-06-01
Description:
  en: Attach ECS instances to a cluster.
  name-en: ACS-CS-AttachInstancesToClusterByRunAttachScript
  categories:
    - ACK_manage
Parameters:
  regionId:
    Type: String
    Label:
      en: RegionId
    AssociationProperty: RegionId
    Default: '{{ ACS::RegionId }}'
  targets:
    Label:
      en: TargetInstance
    Type: Json
    AssociationProperty: Targets
    AssociationPropertyMetadata:
      ResourceType: 'ALIYUN::ECS::Instance'
      RegionId: regionId
  clusterId:
    Label:
      en: ClusterId
    Type: String
  rateControl:
    Label:
      en: RateControl
    Type: Json
    AssociationProperty: RateControl
    Default:
      Mode: Concurrency
      MaxErrors: 0
      Concurrency: 10
  OOSAssumeRole:
    Label:
      en: OOSAssumeRole
    Type: String
    Default: ''
RamRole: '{{ OOSAssumeRole }}'
Tasks:
  - Name: getInstance
    Description:
      en: Views the ECS instances.
    Action: 'ACS::SelectTargets'
    Properties:
      ResourceType: 'ALIYUN::ECS::Instance'
      RegionId: '{{ regionId }}'
      Filters:
        - '{{ targets }}'
    Outputs:
      instanceIds:
        Type: List
        ValueSelector: 'Instances.Instance[].InstanceId'
  - Name: getAttachScript
    Action: 'ACS::ExecuteApi'
    Description:
      en: Gets the command content for attaching an instance to the cluster.
    Properties:
      Service: CS
      API: DescribeClusterAttachScripts
      Method: POST
      Headers: {}
      URI: '/clusters/{{clusterId}}/attachscript'
      Parameters: {}
      Body: '{ }'
    Outputs:
      attachScript:
        Type: String
        ValueSelector: .data
  - Name: runCommand
    Action: 'ACS::ECS::RunCommand'
    Description:
      en: Executes a Cloud Assistant command.
    Properties:
      regionId: '{{ regionId }}'
      commandContent: '{{ getAttachScript.attachScript }}'
      instanceId: '{{ ACS::TaskLoopItem }}'
      commandType: RunShellScript
    Loop:
      RateControl: '{{ rateControl }}'
      Items: '{{ getInstance.instanceIds }}'
      Outputs:
        commandOutputs:
          AggregateType: 'Fn::ListJoin'
          AggregateField: commandOutput
    Outputs:
      commandOutput:
        Type: String
        ValueSelector: invocationOutput
Outputs:
  commandOutputs:
    Type: List
    Value: '{{ runCommand.commandOutputs }}'
Metadata:
  ALIYUN::OOS::Interface:
    ParameterGroups:
      - Parameters:
          - clusterId
        Label:
          default:
            en: Configure Parameters
      - Parameters:
          - regionId
          - targets
        Label:
          default:
            en: Select Instances
      - Parameters:
          - rateControl
          - OOSAssumeRole
        Label:
          default:
            en: Control Options