この使用事例の目的は、Windows 仮想マシンを SaltStack Config 環境に接続して、プログラムによって Salt ミニオン サービスをミニオンにインストールすることです。
前提条件
Windows 環境で API を使用してミニオンを展開するには、次の条件が満たされている必要があります。
- RaaS が展開された SaltStack Config 環境がある。
- Salt マスターと Salt ミニオンがインストールされている。
- Windows 仮想マシンが展開されている。
手順
- Salt マスターの etc/salt/cloud.deploy.d フォルダに次のファイルが格納されていることを確認します。
ファイルが表示されない場合は、サポートにお問い合わせください。
注: ファイル名(
salt-xxxx-windows--x86.tar.gz
など)の xxxx は、Salt マスターのバージョンと一致する必要があります。Salt マスターのバージョンを確認するには、Salt マスターで
salt-master -V コマンドを実行します。
- Salt マスターのターミナルで
pip3 install pypsexec smbprotocol
および pip3 install impacket --ignore-installed
コマンドを実行して、次のライブラリをインストールします。
- Salt マスターの FQDN を特定するには、Salt マスターのターミナルで
salt saltmaster grains.get fqdn
コマンドを実行します。
- Windows マシンの C: \Windows\System32\drivers\etc\hosts ファイルが Salt マスターの IP アドレスと FQDN を使用して構成されていることを確認します。
- Azure の Windows マシンにミニオンを展開する場合は、PowerShell を開き、次のコマンドを実行して必要なポートを開きます。
ポート |
コマンド |
445 |
New-NetFirewallRule -Name "SMB445" - DisplayName "SMB445" -Protocol TCP - LocalPort 445 Enable-Psremoting |
- Azure の Windows マシンにミニオンを展開しない場合は、PowerShell を開き、次のコマンドを実行して必要なポートを開きます。
ポート |
コマンド |
445 |
New-NetFirewallRule -Name "SMB445" - DisplayName "SMB445" -Protocol TCP - LocalPort 445 Set-Item (dir wsman:\localhost\Listener*\Port - Recurse).pspath 445 -Force Restart-Service winrm |
4505-4506 |
netsh advfirewall firewall add rule name="Salt" dir=in action=allow protocol=TCP localport=4505-4506 |
- Windows マシンで ping [FQDN] コマンドを実行して、Salt マスターの FQDN が構成されていることを確認します。
- 環境に適した認証情報を使用して、SSEAPI クライアントを使用して次の API 呼び出しを行います。
注:
SaltStack Config を
vRealize Automation と統合した場合、
vRealize Automation サービスは、クラウド テンプレートを使用してミニオンを展開するときにこの API 呼び出しを行います。
from sseapiclient import APIClient
client = APIClient('https://<master-ip>', '<ssc-username>', '<sscpassword>', ssl_validate_cert=False)
client.api.minions.deploy_minion(
master_id = '<master-id>',
host_name_ip = '<prospective minion’s ip>',
os = ‘<prospective minion’s os>’,
minion_id = '<desired-minion-name-for-prospective-minion>',
username = '<ssh-username-for-prospective-minion>',
password = '<ssh-password-for-prospective-minion>',
)
SaltStack Config 環境で
deploy.minion
関数の実行が開始されます。ジョブが実行されていることを確認するには、
SaltStack Config ユーザー インターフェイスの
[アクティビティ] タブを使用するか、
python3 コマンドを実行してから
client.api.minions.get_minion_deployments() を実行します。
結果
Windows 環境および API 呼び出しからミニオンが正常に展開されて、構成されました。
次のタスク
[コマンドの実行] ウィンドウを使用してミニオンに対して
test.ping コマンドを実行するか、Salt マスター コマンド ウィンドウで
\* test.ping コマンドと
\* test.versions コマンドを実行して、ミニオンが正常に展開されたことを確認します。