クラウド テンプレートへの
SaltStack Config リソース
の追加
Last Updated February 5, 2025

クラウド テンプレート開発者は、テンプレートの展開時に Salt ミニオンをインストールするプロパティを YAML に追加できます。
テンプレートに追加するコア プロパティには、展開するマシンへのリモート アクセスと、
SaltStack Config リソース
の構成プロパティが含まれます。この手順では、一部のプロパティのみを扱います。YAML には、この例で使用されていない他の
SaltStack Config リソース
プロパティが含まれています。詳細については、スキーマを確認してください。
この例では、リモート アクセスのプロパティにユーザー名とパスワードを追加する方法を示していますが、シークレット プロパティを構成して、テンプレートにそのプロパティを追加することもできます。例については、Automation Assembler のシークレット プロパティを参照してください。
Salt ミニオンが Windows 環境に展開されている場合は、追加の依存関係の要件について「Spinning up Windows Minions」を確認します。
  1. Automation Assembler
    で、
    デザイン
    クラウド テンプレート
    の順に選択します。
  2. 既存のテンプレートを開きます。
  3. SaltStack Config リソース
    を見つけて、キャンバスにドラッグします。
  4. ミニオンをインストールするマシンに、
    SaltStack Config リソース
    を接続します。
  5. コード ペインで、
    SaltStack Config リソース
    にプロパティを追加します。
    使用可能なすべてのプロパティを含める必要はありません。この例で使用している値については、表で説明しています。
    デフォルトでは、createTimeout プロパティは 30 分に設定されています。必要に応じて、分または時間の形式(30m、1h など)を使用してこの値を更新できます。
    Cloud_SaltStack_1:
        type: Cloud.SaltStack
        properties:
          masterId: saltstack_enterprise_installer
          hosts:
            - ${resource["Cloud_VM_1".id}
          saltEnvironment: sse
          stateFiles:
            - /doe.sls
          variables: 
            user: joe
          additionalMinionParams:
            grains:
              roles:
                - webserver
                - database   
           additionalAuthParams:
             profile:
                tmp_dir: /var/run
    ここでは、この例で使用されている
    Cloud_SaltStack_1
    プロパティについて説明します。
    プロパティ
    説明
    masterId
    この例のスキーマでは、
    masterId
    値は
    saltstack_enterprise_installer
    です。
    マスター ID は、
    Automation Config
    管理
    マスター キー
    で定義することもできます。
    ホスト
    hosts
    値は、ミニオンのインストール先となるマシンまたはマシン クラスタの ID です。
    Automation Config
    のデフォルトでは、マシンの名前がミニオン ID として渡されます。
    Windows にミニオンを展開する場合は特に、マシン名を 15 文字以下にすることを推奨します。Windows では、15 文字を超えるホスト名は許可されません。
    展開するマシンに対してカスタム命名規則を定義する場合は、
    Automation Assembler
    に展開されたリソースのカスタム命名
    を参照してください。
    saltEnvironment
    この例では、
    sse
    が状態ファイルの配置場所です。
    Automation Config
    構成
    ファイル サーバ
    により、状態ファイルを他のファイル サーバに置くこともできます。
    stateFiles
    この例では、
    doe.sls
    は、
    saltEnvironment
    で指定されるファイル サーバ ディレクトリに格納される状態ファイルです。
    variables
    クラウド テンプレートで定義された変数は、ピラーとして Salt 状態に渡されます。この例では、変数
    user
    doe.sls
    ファイルに渡されます。
    次の例に示すように、状態ファイル内の変数は Jinja を使用して参照できます。
    {% set username = pillar.get('user', 'random') %}
    
    friend:
      user.present:
        - names:
          -  {{username}}
    doe.sls
    ファイルを使用すると、クラウド テンプレート内の変数
    user
    で表されるユーザーが存在するようになります。クラウド テンプレートで変数が指定されていない場合は、ユーザー
    random
    が存在するようになります。
    additionalMinionParams
    このプロパティを使用して、ミニオンに追加の構成パラメータを渡します。次のパラメータはディクショナリとして渡す必要があります。
    • grains
      :このプロパティを使用して、ミニオンにカスタム Salt Grain を割り当てます。1 つ以上の
      key:value
      ペアを指定できます。値には、文字列、配列、またはマップを使用できます。
      新しいマシンをプロビジョニングする場合は、カスタム Grain データのみを割り当てることができます。
      SaltStack リソースの接続
      または
      Salt 構成の更新
      Day 2 アクションを実行する場合は、カスタム Grain データを割り当てることはできません。
    additionalAuthParams
    このプロパティを使用して、デフォルトの salt-cloud 構成とマージされる、またはこの構成によってオーバーライドされるミニオンをプロビジョニングするための追加の認証パラメータを渡します。これらのパラメータはディクショナリとして渡す必要があります。
    1 つ以上の key:value ペアを文字列、配列、またはマップとして使用できます。このプロパティの使用方法の例については、「使用事例:Linux 環境で API を使用してミニオンを展開する方法」を参照してください。
    Salt 構成の更新
    Day 2 アクションを実行する場合、追加の認証パラメータを割り当てることはできません。
  6. Salt ミニオンをホストするマシンに、
    remoteAccess
    プロパティを追加します。
    Salt ミニオンを Linux マシンに展開する場合は、
    authentication
    キーの値を
    usernamePassword
    または
    generatedPublicPrivateKey
    にすることができます。
    publicPrivateKey
    はサポートされていません。
    Salt ミニオンを Windows マシンに展開する場合は、
    authentication
    キーの値を
    usernamePassword.
    にする必要があります。
    remoteAccess:
            authentication: usernamePassword
            username: adminUser
            password: adminPassword
  7. YAML に次のサンプルのようなプロパティが含まれていることを確認します。
    resources:
      Cloud-Network:
        type: Cloud.Network
        properties:
          networkType: existing 
      Cloud_VM_1:
        type: Cloud.vSphere.Machine
        properties:
          image: ubuntu
          flavor: small
          remoteAccess:
            authentication: usernamePassword
            username: adminUser
            password: adminPassword
          networks:
            - network: ${resource["Cloud-Network"].id}
      Cloud_SaltStack_1:
        type: Cloud.SaltStack
        properties:
          masterId: saltstack_enterprise_installer
          hosts:
            - ${resource["Cloud_VM_1"].id}
          saltEnvironment: sse
          stateFiles:
            - /doe.sls
          variables: 
            user: joe
          additionalMinionParams:
            grains:
              roles:
                - webserver
                - database
  8. クラウド テンプレートをテストして展開します。
    ミニオンの展開が失敗する場合は、ミニオンの展開のトラブルシューティングを参照してください。
  9. 展開されたマシンの Salt 構成プロパティを確認します。
    1. 展開
      展開
      の順に選択して、展開の詳細を開きます。
    2. トポロジ
      タブでマシンをクリックし、右側のペインで
      Salt 構成
      プロパティを展開します。
      右側のペインで [Salt 構成] プロパティが展開された [トポロジ] タブのスクリーンショット。プロパティには、マスター ID、Salt 環境、状態ファイルがあります。

Automation Config
でのミニオンの確認

仮想マシンにミニオンをインストールしたら、ミニオンを特定し、リソースに対してジョブまたはコマンドを実行します。
  1. Automation Config
    を開くには、右上隅にあるアプリケーション メニューをクリックし、
    Cloud Services コンソール
    をクリックします。
  2. VMware Aria Automation
    サービスを開きます。
  3. Config サービス タイルをクリックします。
  4. Automation Config
    で、
    ミニオン キー
    を展開し、
    受け入れ済み
    をクリックします。
  5. ミニオン ID
    列で、フィルタ アイコンをクリックし、ミニオンの名前を入力します。
    デフォルトでは、ミニオンの名前は仮想マシンのホスト名になります。この例では、ミニオン ID は salt-vm-010 です。
    Automation Config で受け入れ済みのミニオン キーのスクリーンショット。
  6. 詳細を表示するには、ミニオンの名前をクリックします。
    ミニオンに対してジョブまたはコマンドを実行できます。たとえば、[ディスク使用率のサンプル] などです。このジョブは、ミニオンのディスク使用率の統計を返します。
    サンプル ミニオン ID の詳細画面のスクリーンショット

Salt Grain データの表示

仮想マシンへの Salt ミニオンの展開が完了したら、
Automation Assembler
でミニオンの Grain を表示できます。
Salt Grain は、ミニオンのオペレーティング システム、ドメイン名、IP アドレス、カーネル、OS タイプ、メモリ、その他多くのシステム プロパティについて収集されます。
Automation Config
にアクセスできない場合、または
Automation Assembler
ユーザー インターフェイスから移動しないで Grain データをすばやく表示する場合は、
トポロジ
タブを使用して Grain データを表示します。Grain データの詳細については、Salt Grainを参照してください。
ミニオン Grain を表示するには、次の手順を実行します。
  1. Automation Assembler
    で、
    リソース
    展開
    の順に選択し、展開を特定します。
  2. トポロジ
    タブで、
    SaltStack Config リソース
    に接続されている仮想マシンを選択します。
  3. 右側のペインで
    Salt 構成
    セクションを特定し、下にスクロールして Grain データのリストを表示します。Automation Assembler の Grain データのスクリーンショット
ミニオンを展開すると、ミニオンの Grain データが取得されます。Grain データが最後に更新された日時を確認するには、
Salt 構成
セクションの一番下までスクロールします。
または、
リソース
仮想マシン
の順にクリックし、マシンの構成と属性を表示する目的の仮想マシンを選択して、Salt Grain データを表示することもできます。
Automation Assembler の最後に更新された Grain データのスクリーンショット