クラウド テンプレート開発者は、テンプレートの展開時に SaltStack Config ミニオンをインストールするプロパティを YAML に追加できます。

テンプレートに追加する主要なプロパティには、リモート アクセスのプロパティと、いくつかの saltConfiguration プロパティが含まれます。この手順では、一部のプロパティのみを扱います。YAML には、この例で使用されていない他の saltConfiguration プロパティが含まれています。詳細については、スキーマを確認してください。

この例では、リモート アクセスのプロパティにユーザー名とパスワードを追加する方法を示していますが、シークレット プロパティを構成して、テンプレートにそのプロパティを追加することもできます。例については、vRealize Automation Cloud Assembly のシークレット プロパティを参照してください。

手順

  1. vRealize Automation Cloud Assembly で、[デザイン] > [クラウド テンプレート] の順に選択します。
  2. 既存のテンプレートを開きます。
  3. コード ペインで、任意の saltConfiguration プロパティをマシン リソースに追加します。

    使用可能なすべてのプロパティを含める必要はありません。この例で使用している値については、表で説明しています。

     saltConfiguration:
            masterId: saltstack_enterprise_installer
            minionId: '${input.minionID}'
            saltEnvironment: sse
            stateFiles:
              - /doe.sls
            variables: 
              user: joe

    この例で使用されている saltConfiguration プロパティの説明。

    プロパティ 説明
    masterID saltstack_enterprise_installer 値がデフォルトの masterID です。SaltStack Config[管理] > [マスター キー] で、マスター ID を定義してある場合があります。
    minionID ミニオン ID は指定されなかった場合、SaltStack Config によって割り当てられます。デフォルトの ID はマシン アドレスです。マシンのホスト名を使用するように構成することはできません。

    サンプル YAML の現在の値 ('${input.minionID}') は、変数です。この手順には、入力値に名前を付けてテストできるように、入力値を追加する手順が含まれています。ただし、一般的にはユーザーにミニオン ID の定義を許可することはありません。

    saltEnvironment sse 値は、状態ファイルのデフォルトのファイルの場所です。SaltStack Config[構成] > [ファイル サーバ] により、状態ファイルを他のファイル サーバに置くこともできます。
    stateFiles doe.sls 値は、saltEnvironment で指定されるファイル サーバ ディレクトリに格納されるデフォルトの状態ファイルです。
    variables 変数は、状態ファイルで使用される値です。この例では、doe.slsuser 値を受け入れます。
  4. SaltStack Config がミニオンとの通信に使用する remoteAccess プロパティを追加します。
     remoteAccess:
            authentication: usernamePassword
            username: adminUser
            password: adminPassword
  5. 展開するユーザーがミニオン ID を指定できるように、入力を追加します。
    inputs:
      minionID:
        type: string
        title: Minion ID
  6. YAML に次のサンプルのようなプロパティが含まれていることを確認します。
    inputs:
      minionID:
        type: string
        title: Minion ID
    resources:
      Cloud_vSphere_Machine_1:
        type: Cloud.vSphere.Machine
        properties:
          image: centos
          flavor: small
          saltConfiguration:
            masterId: saltstack_enterprise_installer
            minionId: '${input.minionID}'
            saltEnvironment: sse
            stateFiles:
              - /doe.sls
            variables:
              user: sylvia
          remoteAccess:
            authentication: usernamePassword
            username: adminUser
            password: adminPassword
  7. クラウド テンプレートをテストして展開します。
  8. 展開されたマシンの Salt 構成プロパティを確認します。
    1. [展開] > [展開] の順に選択して、展開の詳細を開きます。
    2. [トポロジ] タブでマシンをクリックし、右側のペインでプロパティを展開します。

      右側のペインに Salt 構成プロパティが展開されている [トポロジ] タブのスクリーンショット。プロパティには、マスター ID、ミニオン ID、Salt 環境、状態ファイルがあります。