VMware 動的インベントリープラグインの使用

VMware 動的インベントリープラグイン

ホストと対話する最善の方法は、VMware 動的インベントリープラグインを使用することです。これは、VMware API を動的にクエリーし、 管理できるノードを Ansible に指示します。

要件

VMware 動的インベントリープラグインを使用するには、 コントロールノード (Ansible を実行するホスト) に pyVmomi をインストールする必要があります。

仮想マシンのタグ関連の情報を動的インベントリーに含めるには、コントロールノードでタグ付けやコンテンツライブラリーなどの REST API 機能に対応する vSphere Automation SDK も必要になります。 手順 https://github.com/vmware/vsphere-automation-sdk-python#installing-required-python-packages の指示に従って、vSphere Automation SDK をインストールできます。

$ pip install pyvmomi

この VMware 動的インベントリープラグインを使用するには、最初に ansible.cfg ファイルに以下を指定して有効にする必要があります。

[inventory]
enable_plugins = vmware_vm_inventory

次に、作業ディレクトリーに .vmware.yml または .vmware.yaml で終わるファイルを作成します。

vmware_vm_inventory スクリプトは、VMware モジュールと同じ認証情報を取得します。

以下は、有効なインベントリーファイルの例です。

plugin: vmware_vm_inventory
strict:False
hostname:10.65.223.31
username: [email protected]
password:Esxi@123$%
validate_certs:False
with_tags:True

ansible-inventory --list -i <filename>.vmware.yml を実行すると、Ansible を使用して設定する準備ができている VMware インスタンスの一覧が作成されます。

vault が設定された設定ファイルの使用

インベントリー設定ファイルには、プレーンテキストでセキュリティーリスクがある vCenter パスワードが含まれるため、 インベントリー設定ファイル全体を暗号化します。

有効なインベントリー設定ファイルは以下のように暗号化できます。

$ ansible-vault encrypt <filename>.vmware.yml
New Vault password:
Confirm New Vault password:
Encryption successful

また、以下を使用して、vault が設定されたこのインベントリー設定ファイルを使用できます。

$ ansible-inventory -i filename.vmware.yml --list --vault-password-file=/path/to/vault_password_file

See also

pyVmomi
pyVmomi の GitHub ページ
pyVmomi Issue Tracker
pyVmomi プロジェクトの問題トラッカー
vSphere Automation SDK GitHub Page
Python 向けの vSphere Automation SDK の GitHub ページ
vSphere Automation SDK Issue Tracker
Python 向けの vSphere Automation SDK の問題トラッカー
Playbook の使用
Playbook の概要
Playbook での Vault の使用
Playbook での Vault の使用