LoginSignup
0
0

More than 5 years have passed since last update.

ansible ひとりもくもく会

Last updated at Posted at 2018-03-12

まずはansibleコマンド

http://docs.ansible.com/ansible/latest/intro_getting_started.html

/etc/ansible/hosts のyml

親のhostsでぶら下がるホストを定義

children内のhostsでは重複でホストを呼んでグループ化できる = 1ホストが複数グループに所属可

all: # keys must be unique, i.e. only one 'hosts' per group
  hosts:
    sv1:
    sv2:
    sv3:
  vars:
    mytype: ALLLLLLLLL
  children:
    dmz:
      hosts:
        sv1:
        sv2:
      vars:
        mytype: "Overrided by group_vars {{ group_names }}" 
    internal:
      hosts:
        sv3:
      vars:
        mytype: "Overrided by group_vars {{ group_names }}" 
    mygroup:
      hosts:
        sv2:
        sv3:
      vars:
        mytype: "Overrided by group_vars {{ group_names }}" 

試す

ansible all -m ping
ansible dmz -a hostname

変数を使う

bashの変数になるかと思ったら違った。

ansible all -a "echo {{ mytype }}"       # なんとgroup_varsに上書きされる
ansible mygroup -a "echo {{ mytype }}"   # variablesの上書きがいまいち

変数の上書きはしないほうがよさそう。

ansible playbook

http://docs.ansible.com/ansible/latest/playbooks.html

playbookの中に対象ホストを書くのが意外だった。

$ cat playbook.yml
---
- hosts: mygroup
  vars:
    http_port: 80
    max_clients: 200
  remote_user: root
  tasks:
  - name: ensure apache is running (and enable it at boot)
    service: name=httpd state=started enabled=yes

試す

$ ansible-playbook playbook.yml --syntax-check
$ ansible-playbook playbook.yml --list-hosts

# 実行
$ ansible-playbook playbook.yml
PLAY RECAP ***********************************************************************************************************************
sv1.kidc.jp           : ok=1    changed=0    unreachable=0    failed=1   
sv2.kidc.jp          : ok=2    changed=0    unreachable=0    failed=0   

apacheがない sv1 はちゃんとエラーになった。

playbookの書き方は特殊だなー、これがDSLというのだろうか。覚えるの大変そう・?


時間取れ次第、続き書き足していく予定。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0