何がインストールされていて
どんなチューニングがされているのか
コード化したファイルを使用して
サーバのセットアップを
自動化するツール
ぬくもり
の
危険性!!
roles/common/
├── files
│ └── pub_key
│ └── test2.pub
├── handlers
│ └── main.yml
|── tasks
│ ├── main.yml
│ ├── network.yml
│ └── openssl.yml
├── templates
│ ├── init
│ │ └── init_ec2-status.j2
│ └── profile
│ └── profile_bashhistory.j2
└── vars
└── vars.json
get_url: url={{ base.get_url }}Python-{{ versions.Python34 }}.tgz dest={{ directories.src }}
【var.json】
"Python33": {
"prefix": "/usr/local/python3.3/"
},
"Python34": {
"prefix": "/usr/local/python3.4/"
},
"Python27": {
"prefix": "/usr/local/python2.7/"
},
"Ruby21": {
"prefix": "/usr/local/ruby2.1/"
},
15:18:44 ansible$ ls -la ./roles/package/tasks/pyt*
7 23 14:04 ./roles/package/tasks/python27.yml
7 23 14:04 ./roles/package/tasks/python33.yml
7 23 14:04 ./roles/package/tasks/python34.yml
└── roles
├── python
│ ├── defaults
│ ├── files
│ ├── meta
│ ├── tasks
│ ├── templates
└ └── vars
├── python27.json
├── python34.json
以下続く・・・・
15:18:51 maaya_ishida@ansible$ cat ./ignition/logreco/lr-m.yml
---
- hosts: lr-m
sudo: yes
user: ansible_user
vars_files:
- ../roles/python/vars/python34.json
と。
ここまでが10月のmeet upで話した内容。
(Ansibleにおける)冪等性:
Ansibleの売りの一つ。
さっきまかびーが話していた通り、
Ansible playbook の「変更部分だけ」
を実行してくれる
ではこんなソースだった場合どうなるでしょう
- name: Be sure all packages are upgraded.
yum: name=* state=latest
tags:
- initial
- name: Be sure common packages are installed.
yum: name={{ item }} state=installed
with_items:
- ntp
- gcc
- gcc-c++
- ftp
.
.
.
.
task.yml
yumを使うのであれば
バージョン指定しておこうね。