Salt Project は、イベント駆動型の IT 自動化、リモート タスクの実行、および構成管理を行うための Python ベースのオープンソース ソフトウェアです。
Salt の詳細については、Salt ユーザー ガイドを参照してください。
Salt では、salt-minion をゲストに展開する必要があります。Salt 固有のゲスト変数はホスト側で仮想マシンごとに設定され、その後ゲスト内の VMware Tools によって読み取られます。次に VMware Tools は salt バンドルをダウンロードし、ゲスト内で salt-minion インスタンスを起動します。
前提条件
- 64 ビット OS のみをサポートします。
- Windows では、Windows 8 以降のバージョンがサポートされます。
注: Windows 2008R2 はサポートされていません。
- VMware Tools は Salt ミニオン機能とともにインストールする必要があります。デフォルトで、この機能は有効になっています。
- Linux のインストール済みパッケージには依存関係があります(curl や wget など)。
手順
- [ゲスト変数を使用した仮想マシンごとのホスト側の構成]
ホスト管理者は、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
- Windows:
- [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
- ゲスト管理者は、tools.conf 設定を構成して salt_minion を有効にできます。
- [ゲスト変数での状態変化を監視する間隔の構成:]
- [インストール スクリプトを使用した 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]
ここで、
例:URL の場所./svtminion.sh [-j|--source]
は、Salt ミニオンのインストール元を指定します。デフォルトは repo.saltproject.io の場所です。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 の標準リポジトリの場所のプライベート レプリカからインストールする場合は、source=https://repo.saltproject.io/salt/vmware-tools-onedir/
を使用します。 - 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
と入力します。
- Linux 環境
-
- [ログ情報の取得]
ゲスト管理者は、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