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

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

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

手順

  1. Cloud Assembly で、[デザイン] > [クラウド テンプレート] の順に選択します。
  2. 既存のテンプレートを開きます。
  3. [SaltStack Config] リソースを見つけて、キャンバスにドラッグします。
  4. ミニオンをインストールするマシンに、[SaltStack Config] リソースを接続します。
  5. コード ペインで、SaltStack Config リソースにプロパティを追加します。

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

    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

    ここでは、この例で使用されている Cloud_SaltStack_1 プロパティについて説明します。

    プロパティ 説明
    masterId この例のスキーマでは、masterId 値は saltstack_enterprise_installer です。SaltStack Config[管理] > [マスター キー] で、マスター ID を定義してある場合があります。
    ホスト hosts 値は、ミニオンのインストール先となるマシンまたはマシン クラスタの ID です。SaltStack Config のデフォルトでは、マシンの名前がミニオン ID として渡されます。

    Windows にミニオンを展開する場合は特に、マシン名を 15 文字以下にすることを推奨します。Windows では、15 文字を超えるホスト名は許可されません。

    展開するマシンに対してカスタム命名規則を定義する場合は、Cloud Assembly に展開されたリソースのカスタム命名を参照してください。

    saltEnvironment この例では、sse が状態ファイルの配置場所です。SaltStack Config[構成] > [ファイル サーバ] により、状態ファイルを他のファイル サーバに置くこともできます。

    ローカル ファイル サーバ ベースの環境のみがサポートされます。

    stateFiles この例で、doe.sls は、saltEnvironment で指定されるファイル サーバ ディレクトリに格納される状態ファイルです。
    variables 変数は、状態ファイルで使用される値です。この例では、doe.slsuser 値を受け入れます。

    複雑なネストされた変数は、現在サポートされていません。たとえば、変数値に配列を使用する場合、変数値に別のアレイなどのネストされた値を含めたり、配列要素内にマップを含めることはできません。

    additionalMinionParams このプロパティを使用して、ミニオンに追加の構成パラメータを渡します。次のパラメータはディクショナリとして渡す必要があります。

    • grains:このプロパティを使用して、ミニオンにカスタム Salt Grain を割り当てます。1 つ以上の key:value ペアを指定できます。値には、文字列、配列、またはマップを使用できます。

      新しいマシンをプロビジョニングする場合は、カスタム Grain データのみを割り当てることができます。[SaltStack リソースの接続] または [Salt 構成の更新] Day 2 アクションを実行する場合は、カスタム Grain データを割り当てることはできません。

  6. Salt ミニオンをホストするマシンに、remoteAccess プロパティを追加します。

    authentication キーの値は、usernamePassword または generatedPublicPrivateKey にする必要があります。publicPrivateKey はサポートされていません。

     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 環境、状態ファイルがあります。

SaltStack Config でのミニオンの確認

仮想マシンにミニオンをインストールしたら、ミニオンを特定し、リソースに対してジョブまたはコマンドを実行します。

手順

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

Salt Grain データの表示

仮想マシンへの Salt ミニオンの展開が完了したら、Cloud Assembly でミニオンの Grain を表示できます。

Salt Grain は、ミニオンのオペレーティング システム、ドメイン名、IP アドレス、カーネル、OS タイプ、メモリ、その他多くのシステム プロパティについて収集されます。SaltStack Config にアクセスできない場合、または Cloud Assembly ユーザー インターフェイスから移動しないで Grain データをすばやく表示する場合は、[トポロジ] タブを使用して Grain データを表示します。Grain データの詳細については、Salt Grainを参照してください。

ミニオン Grain を表示するには、次の手順を実行します。

  1. Cloud Assembly で、[リソース] > [展開] の順に選択し、展開を特定します。
  2. [トポロジ] タブで、SaltStack Config リソースに接続されている仮想マシンを選択します。
  3. 右側のペインで [Salt 構成] セクションを特定し、下にスクロールして Grain データのリストを表示します。Cloud Assembly の Grain データのスクリーンショット

ミニオンを展開すると、ミニオンの Grain データが取得されます。Grain データが最後に更新された日時を確認するには、[Salt 構成] セクションの一番下までスクロールします。

Cloud Assembly の最後に更新された Grain データのスクリーンショット
注: Grain データは、 SaltStack Config リソースに [Salt 構成の更新] Day 2 アクションを実行した場合のみ更新されます。 Cloud Assembly の外部で変更が行われた場合は、更新されません。