Ansible で ESXi を操作してみる[初期テスト]

More than 1 year has passed since last update.


Ansible で ESXi を操作してみる[初期テスト]


目的


  • vSphere Client からぽちぽちせずに ESXi を操作したい

  • ansible を使うことで構成管理と自動化も視野に

  • 最終的には VM の自動作成をしたいなと


構成 (2016/03/06 時点)


  • ansible 2.0


    • mac os x el capitan

    • ubuntu 14.04



$ sudo pip install ansible

$ ansible --version
ansible 2.0.1.0


  • ESXi 5.1 u3 (Freeライセンス)


    • 古いですね、すみません。わけあってこのバージョン…

    • ssh サーバを有効にする




事前準備


ansible を導入した端末のターミナルソフトから ssh 接続を 1 回済ませておきます

例:

$ ESX_IPADDR='192.168.100.8'

$ ssh root@${ESX_IPADDR}
(snip)
Are you sure you want to continue connecting (yes/no)? yes
(snip)
~ # exit
Connection to ${ESX_IPADDR} closed.
$


接続テスト


接続先ホストの設定ファイルをつくる

~$ mkdir -p ansible/esxi-test/

~$ cd ansible/esxi-test/

ESX_HOST_FILE=esx-host

cat << EOF > ${ESX_HOST_FILE}

[esxi]
${ESX_IPADDR}
EOF

cat ${ESX_HOST_FILE}

正常出力例:

[esxi]

192.168.100.8


ESXi サーバに接続して date コマンドを実行してみる

~/ansible/esxi-test$ ansible esxi -i ${ESX_HOST_FILE} -u root -k -m raw -a "date" -c paramiko

SSH password: <- ESXi の root パスワードを入力して Enter
${ESX_IPADDR} | SUCCESS | rc=0 >>
Sun Mar 6 10:48:02 UTC 2016

日時が表示されたら成功です


  • ubuntu で以下のエラーが出る場合は sshpass をインストールしてください

to use the 'ssh' connection type with passwords, you must install the sshpass program

$ sudo apt-get install sshpass