今更ですが悪いですかね。Ansibleさん
さぁ以前ネットワークスイッチのコンフィグをAnsibleで行ったことがありましたが、
だいぶ月日が流れ忘れてしまいました。
今回は、Ansible + Vagrantを利用して簡単な復習を行っていきたいと思います。
前置きはここまでとして。。
実行環境
環境準備
- Ansibleのインストール
- Vagrantのインストール
- virtualboxのインストール
Ansibleとは
実際何がそんなに嬉しいのか
確かに僕も思ってはいたのだけど何がそんなに嬉しいのか!!
まぁ要するに、管理する側の人間にまだ僕がなっていないからだと思います。
早速はじめます。
インストールについては、割愛致します。 まずお試しでやることは以下になります。
[server] 192.168.33.12
- まずansibleを使用してpingを実行してみましょう。
ansible 192.168.33.12 -m ping -i hosts
実行結果
192.168.33.12 | success >> { "changed": false, "ping": "pong" }
続いて、yumを使ってtelnetをインストールしてみましょう。
ansible -i hosts 192.168.33.12 -m yum -s -a name=telnet
解説:-m で指定したモジュールを実行
:-s でsudo権限で実行
:-a で実行文を定義
今までは、一つ一つのコマンドを実行してきましたが、 実際にこのような手順で設定していくとたくさん設定項目がある場合面倒です。 その為、ansibleには、playbookというテンプレートを作成し、 設定を一度に行える機能があります。
では、実際にplaybookを書いてみましょう。
- test01-playbook.ymlを作成してみます。
--- - hosts: 192.168.33.12 become: yes tasks: - name: be sure httpd is installed yum: name=httpd state=installed - name: be sure httpd is running and enabled service: name=httpd state=started enabled=yes
上記の意味合いは以下になります。
hosts:対象のホストを設定します。 この場合は、対象のホストが192.168.33.12になります。
become:接続先のホストでsudo権限で実行するかどうかを設定します。
tasks:実行する処理を記載します。
name:実行する要約を記載します。
詳細は以下のモジュールリストを参照ください。
All Modules — Ansible Documentation
やってみよう!WPのインストール!
- 以下のgithubからplaybookをインストール!
まず、git cloneを実行してダウンロード
git clone https://github.com/realglobe-Inc/ansible-demo-playbooks.git
今回使用するディレクトリへ移動
cd ansible-demo-playbooks/wordpress-nginx/
リポジドリ内にある、hosts.exampleファイルをコピーする。
cp hosts.example hosts
hostsを書き変えます。
[wordpress-server] 192.168.33.12 ansible_ssh_user=vagrant
さて!WordPreseをplaybookを使ってインストールしてみましょう!
ansible-playbook site.yml -i hosts
いきなり実行だと不安な方も試して実行が行えます。
ansible-playbook site.yml -i hosts --check
では、サイトが作成できたかどうかアクセスしてみましょう。
http://192.168.33.12
見事にWPをインストールすることが出来ました。
すみません、今回以下のサイトを参考にさせていただきました。
Ansible チュートリアル | Ansible Tutorial in Japanese
ansible-demo-playbooks/README_AWS.md at master · realglobe-Inc/ansible-demo-playbooks · GitHub
次回は、playbookの中身を紹介していきます。