1. はじめに
今回はAnsibleを用いてvmwareモジュールを使用してみる。
community.vmware.vmware_guest module – Manages virtual machines in vCenter — Ansible Community Documentation
2. Ansible vmwareの環境設定および注意点
①community.vmwareモジュールがインストールされているか確認する
ターミナルでansible-galaxy collection listを実行
②インストールされていない場合、以下を実行してインストールする
ansible-galaxy collection install community.vmware
③ansible-playbookのvarsにssh接続時のhost証明書の確認無効化を記述
vars:
ansible_ssh_common_args: '-o StrictHostKeyChecking=no'
④pip3をインストールする
sudo -E apt install python3-pip
⑤pip3コマンドでpyvmomiをインストールする(できなかったらプロキシを環境変数に設定する?)
pip3 install pyvmomi
⑥esxi or clusterの指定どちらかは必ず必要(FQDNで設定する)
3. vmwareの仮想マシンを自動デプロイしてみる
hosts.ini (vmwareへの接続はホストで行う)
[ansible_host]
localhost
[all:vars]
ansible_user = hostのユーザ
ansible_password = hostのパスワード
vcenter_hostname = IP or FQDN
vccenter_username = user@example.com
vcenter_password = vcenterのパスワード
esxi_hostname = IP or FQDN
main.yml
- name: Clone a virtual machine from Windows template and customize
community.vmware.vmware_guest
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
validate_certs: no
datacenter: datacenter
folder: /datacenter/vm
esxi_hostname: "{{ esxi_hostname }}"
name: pcname
state: poweredon
template: win_template
networks:
- name: network
ip: ipaddress
netmask:255.255.255.0
gateway: gatewayip
dns_servers:
- dnsip
- dns2ip
customization_spec: win_custom
delegate_to: localhost
4. さいごに
今回はAnsibleでvmwareを扱ってみた。
カスタマイズ仕様書ではsysprep、コンピュータ名の設定や実行コマンドなどの設定を行っておく
IPやディスク、メモリ容量など変更の可能性あるものはまとめてansible-playbookのiniファイルで設定するようにした方がいい

Comments