VMware Tools を使用して Salt ミニオンを有効にする

Salt Project は、イベント駆動型の IT 自動化、リモート タスクの実行、および構成管理を行うための Python ベースのオープンソース ソフトウェアです。
  • 64 ビット OS のみをサポートします。
  • Windows では、Windows 8 以降のバージョンがサポートされます。
    Windows 2008R2 はサポートされていません。
  • VMware Tools は Salt ミニオン機能とともにインストールする必要があります。デフォルトで、この機能は有効になっています。
  • Linux のインストール済みパッケージには依存関係があります(curl や wget など)。
Salt の詳細については、Salt ユーザー ガイドを参照してください。
Salt では、salt-minion をゲストに展開する必要があります。Salt 固有のゲスト変数はホスト側で仮想マシンごとに設定され、その後ゲスト内の VMware Tools によって読み取られます。次に VMware Tools は salt バンドルをダウンロードし、ゲスト内で salt-minion インスタンスを起動します。
  • ゲスト変数を使用した仮想マシンごとのホスト側の構成
    ホスト管理者は、VIM API または vSphere/VC UI を使用して、ホスト側で特定の仮想マシンのすべてのゲスト変数設定を管理します。
      • Windows:
        VMware Tools Salt ミニオン機能がデフォルトでインストールされ、カスタム インストールで変更できます。
        VMware Tools で特定の仮想マシンに salt-minion インスタンスを作成し、salt-minion を salt-master に接続するには、ホスト管理者がその仮想マシンのゲスト変数を構成して設定する必要があります。
        vSphere ホストのユーザー インターフェイスで、特定の仮想マシンを選択し、右クリックして設定を編集します。[仮想マシン オプション] タブで、
        詳細
        構成の編集
        パラメータの追加/削除
        の順に選択し、次のように設定します。
        • guestinfo./vmware.components.salt_minion.desiredstate
          を present に設定する
        • guestinfo./vmware.components.salt_minion.args
          <VMware Tools salt-minion セットアップ スクリプトへのカスタム引数>
          に設定する
        たとえば、
        guestinfo./vmware.components.salt_minion.desiredstate
        → present
        guestinfo./vmware.components.salt_minion.args
        → master=1.2.3.4
      • Linux:
        ホスト管理者は open-vm-tools と open-vm-tools-salt-minion をインストールし、特定の仮想マシンのゲスト変数を次のように設定する必要があります。
        • guestinfo./vmware.components.salt_minion.desiredstate
          を present に設定する
        • guestinfo./vmware.components.salt_minion.args
          <VMware Tools salt-minion セットアップ スクリプトへのカスタム引数>
          に設定する
        たとえば、
        guestinfo./vmware.components.salt_minion.desiredstate
        → present
        guestinfo./vmware.components.salt_minion.args
        → master=1.2.3.4 id=12345
    • salt-minion の削除
      Windows または Linux でホスト管理者がゲスト変数
      guestinfo./vmware.components.salt_minion.desiredstate
      を absent に設定した場合、VMware Tools はゲスト仮想マシンの salt-minion インスタンスを削除します。
      たとえば、
      guestinfo./vmware.components.salt_minion.desiredstate
      → absent
    • ゲスト内の salt-minion の最新ステータスの確認
      vSphere ユーザー インターフェイスでゲスト内の salt-minion の最新のステータスを確認するには、次のゲスト変数を使用します。
      guestinfo.vmware.components.salt_minion.laststatus
  • tools.conf を使用したゲスト側の構成
    tools.conf
    ファイルには、VMware Tools の構成が
    .ini
    形式で含まれています。このツールは、
    salt_minion
    セクションを探し、そのセクションで定義された構成を使用します。このファイルは次の場所に保存されます。
    Windows -
    C:\ProgramData\VMware\VMware Tools\tools.conf
    Linux -
    /etc/vmware-tools/tools.conf
    次に、
    tools.conf
    セクションで定義されている
    salt_minion
    セクションの例を示します。
    [salt_minion] master=1.2.3.4 conf_file=/etc/salt/minion id=dev_minion
    tools.conf
    で使用できるのは、ミニオン構成オプションだけです。目的のスクリプト アクションを
    tools.conf
    から取得できません。
    • ゲスト変数での状態変化を監視する間隔の構成:
      VMware Tools は、ゲスト変数を定期的にポーリングして、状態変化を確認します。デフォルトのポーリング間隔は 180 秒で、
      tools.conf
      設定で構成できます。
      [componentmgr]
      #poll-interval=180
      (デフォルト値:180 秒)
    • コンポーネントの有効化と無効化 (salt_minion):
      • ゲスト管理者は、
        tools.conf
        設定を構成して salt_minion を有効にできます。
        [componentmgr]
        included=salt_minion
      • ゲスト管理者は、
        tools.conf
        設定を構成して、すべてのコンポーネントを有効にできます。
        [componentmgr]
        included=all
        (デフォルト構成)
      • ゲスト管理者は、
        tools.conf
        設定を構成して、すべてのコンポーネントを無効にできます。
        [componentmgr]
        included=none
  • インストール スクリプトを使用した salt-minion のインストール
      • Linux 環境
        Linux システムでは、インストール スクリプト
        svtminion.sh
        は次の前提条件を備えた bash スクリプトです。
        • - systemctl
        • - curl
        • - sha512sum
        • - vmtoolsd
        • - grep
        • - awk
        • - sed
        • - cut
        • - wget
        svtminion.sh --help
        は、コマンドライン オプションを表示します。
        使用方法:
        ./svtminion.sh [-c|--clear] [-d|--depend] [-h|--help] [-i|--install] [-j|--source] [-l|--loglevel] [-m|--minionversion] [-r|--remove] [-s|--status] [-v|--version]
        ここで、
        ./svtminion.sh [-j|--source]
        は、Salt ミニオンのインストール元を指定します。デフォルトは
        repo.saltproject.io
        の場所です。
        例:URL の場所
        http://my_web_server.com/my_salt_onedir
        https://my_web_server.com/my_salt_onedir
        file:////my_path/my_salt_onedir
        //my_path/my_salt_onedir
        Salt ミニオンの特定のバージョンが指定されている場合 ([-m | --minionversion]) は、ソースに追加されます。デフォルトは最新バージョンです。
        次に、
        tools.conf
        で定義されている
        salt_minion
        のインストール例を示します。
        [salt_minion] master=1.2.3.4 conf_file=/etc/salt/minion id=dev_minion source=https://my_web_server.com/my_salt_onedir
        Salt の標準リポジトリの場所のプライベート レプリカからインストールする場合は、 を使用します。
      • Windows 環境
        Windows システムでは、インストール スクリプト
        svtminion.ps1
        は PowerShell スクリプトです。Windows の唯一の前提条件は、ゲスト変数データのクエリに使用される「vmtoolsd.exe」バイナリです。
        このスクリプトのヘルプを表示するには、コマンド
        svtminion.ps1 -h
        または
        Get-Help svtminion.ps1
        を実行します。
        Windows ゲストで Salt ミニオンを管理するための VMware Tools スクリプトは次のとおりです。
        .\svtminion.ps1 [-Install] [-MinionVersion <String>] [-Source <String>] [[-ConfigOptions] <String[]>] [-LogLevel <String>] [-Help] [-Version] [<CommonParameters>]
        -Source <String>
        は、インストーラを含むリポジトリの URL またはパスです。
        これには、デフォルトの場所 https://repo.saltproject.io/salt/vmware-tools-onedir/ と同様のディレクトリ構造が含まれます。これは、http、https、ftp、unc、local などの最も一般的なプロトコルを処理できます。
        たとえば、
        PS>svtminion.ps1 -Install PS>svtminion.ps1 -Install -MinionVersion 3004-1 master=192.168.10.10 id=dev_box PS>svtminion.ps1 -Install -Source https://my.domain.com/vmtools/salt
        例を表示するには、
        get-help .\svtminion.ps1 -examples
        と入力します。
        詳細については、
        get-help .\svtminion.ps1 -detailed
        と入力します。
        技術情報については、
        get-help .\svtminion.ps1 -full
        と入力します。
  • ログ情報の取得
    ゲスト管理者は、salt-minion に関連するログ情報を次のパスから取得できます。
    Windows
    ログ ファイル
    場所
    salt-minion のステータスを確認するためのログ ファイル
    C:\Windows\Temp\vmware-svtminion-status-{Timestamp}.log
    ゲスト内に salt-minion インスタンスをインストールするためのログ ファイル
    C:\Windows\Temp\vmware-svtminion-install-{TimeStamp}.log
    ゲスト内の salt-minion インスタンスを削除するためのログ ファイル:
    C:\Windows\Temp\vmware-svtminion-remove-{TimeStamp}.log
    ゲスト内の salt-minion インスタンスのインストールまたは削除後にランタイム情報を確認するためのログ ファイル
    C:\salt\var\log\minion log files
    Linux
    ログ ファイル
    場所
    salt-minion のステータスを確認するためのログ ファイル
    /var/log/vmware-svtminion.sh-status-{Timestamp}.log
    ゲスト内に salt-minion インスタンスをインストールするためのログ ファイル
    /var/log/vmware-svtminion.sh-install-{TimeStamp}.log
    ゲスト内の salt-minion インスタンスを削除するためのログ ファイル:
    /var/log/vmware-svtminion.sh-remove-{TimeStamp}.log
    ゲスト内の salt-minion インスタンスのインストールまたは削除後にランタイム情報を確認するためのログ ファイル
    /var/log/salt/minion