SaltStack ConfigvRealize Automation Cloud と統合した場合、展開内の仮想マシンにミニオンをインストールすると、SaltStack Config の機能を使用して仮想マシンに対して追加の管理操作を実行できます。

ミニオンは、クラウド テンプレートの一部として展開することも、Day 2 アクションとしてマシンに追加することもできます。また、状態ファイルをテンプレートの一部として、または Day 2 アクションとして指定することもできます。クラウド テンプレートでの展開手順については、こちらを参照してください。Day 2 アクションの詳細については、Cloud Assembly 環境で実行できるアクションで「Salt 構成の適用」を参照してください。

ミニオンとは、Salt ミニオン サービスが実行されるノードです。サービスは Salt マスターからのコマンドをリッスンし、要求されたタスクを実行します。

現時点では、クラウド テンプレートを使用して Linux マシンにミニオンをインストールできます。

最初に行う作業

  • SaltStack Config をインストール済みで、統合が構成されていることを確認します。vRealize Automation Cloud での SaltStack Config 統合の作成を参照してください。
  • ミニオンの主要な概念など、SaltStack Config の仕組みを理解するには、ミニオンを参照してください。
  • SaltStack Config で、ミニオンからマスターへの FQDN の名前解決が機能していることを確認します。Salt マスターでの FQDN を SaltStack Config で 確認するには、[ミニオン] > [すべてのミニオン] の順に選択し、[ミニオン ID] 列を値 saltmaster でフィルタリングします。詳細を表示するには、saltmaster をクリックします。FQDN の値が正しいことを確認します。
  • Salt ミニオンを使用して展開する vSphere 内のイメージで SSH 機能が有効になっていることを確認します。SSH は、リモートからマシンにアクセスし、ミニオンを展開するために使用されます。
  • 展開するマシンに IP アドレスを割り当てることができることを確認します。SaltStack Config では、マシンに IP アドレスが必要です。Salt マスターが配置されている SDDC (Software-Defined Datacenter) のパブリック IP CIDR 範囲内の IP アドレスを使用します。
  • saltConfiguration プロパティを追加する前に、ミニオンの追加先のクラウド テンプレートが展開可能であることを確認します。

クラウド テンプレートへのミニオンの追加

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

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

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

手順

  1. 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 プロパティを追加します。

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

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

SaltStack Config でのミニオンの確認

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

手順

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

次のタスク

[SaltStack Config] 機能を使用してリソースを管理するには、SaltStack Config のドキュメントを参照してください。