ՆٳΈͰ͕ࠩͭ͘ʂ
Ansible
#ansiblejp
2018/8/3 Ansible Night in Fukuoka 2018.08 1
Slide 2
Slide 2 text
ా༟
גࣜձࣾΦϧλʔϒʔε
ιϦϡʔγϣϯΞʔΩςΫτ
ΈࠐΈ → ΫϥυΠϯϑϥ
@morita92hiro
https://hawaku.hateblo.jp
2018/8/3 Ansible Night in Fukuoka 2018.08 2
Slide 3
Slide 3 text
Ansibleపఈೖ
ൃചதʂ
2018/8/3 Ansible Night in Fukuoka 2018.08 3
Slide 4
Slide 4 text
ͭ·Βͳ͍ੈք͔Βͬͱܹͷ͋ΔੈքมԽͤ͞Α͏ʂ
ɹɹɹɹɹ
2018/8/3 Ansible Night in Fukuoka 2018.08 4
Slide 5
Slide 5 text
2018/8/3 Ansible Night in Fukuoka 2018.08 5
Slide 6
Slide 6 text
Ansibleͱ1
1 https://www.ansible.com/overview/it-automation
2018/8/3 Ansible Night in Fukuoka 2018.08 6
Slide 7
Slide 7 text
ΤʔδΣϯτϨεʹίʔ
υͰߏཧ͢Δπʔϧ
2018/8/3 Ansible Night in Fukuoka 2018.08 7
Slide 8
Slide 8 text
ͳͥAnsibleΛ͍࢝Ί͔ͨʁ!
2018/8/3 Ansible Night in Fukuoka 2018.08 8
Slide 9
Slide 9 text
࡞ͷґཔΛड͚Δ
2018/8/3 Ansible Night in Fukuoka 2018.08 9
Slide 10
Slide 10 text
ࢁͷ࡞ͷґཔΛड͚Δ
2018/8/3 Ansible Night in Fukuoka 2018.08 10
Slide 11
Slide 11 text
• Ҋ݅͝ͱͷαʔόʔ
• ։ൃɺຊ൪༻
• ෳߏங
• ΫϥυʹΑΔαʔόʔͷ͍ࣺͯ
• ӡ༻
͜Εશ෦1ਓͰɾɾɾʁ
2018/8/3 Ansible Night in Fukuoka 2018.08 11
Slide 12
Slide 12 text
Ͳ͏ͬͯࡹ͘ʁ
2018/8/3 Ansible Night in Fukuoka 2018.08 12
Slide 13
Slide 13 text
!ؒΛݺͿ
͔͠͠ɺॿ͚ɾɾɾ!
2018/8/3 Ansible Night in Fukuoka 2018.08 13
Slide 14
Slide 14 text
͕࣌ؒΜΔ
2018/8/3 Ansible Night in Fukuoka 2018.08 14
Slide 15
Slide 15 text
#͍͍͑
2018/8/3 Ansible Night in Fukuoka 2018.08 15
Slide 16
Slide 16 text
Infrastructure as Code
2018/8/3 Ansible Night in Fukuoka 2018.08 16
Slide 17
Slide 17 text
ʊਓਓਓਓਓਓਓʊ
ʼɹಇ͖ํվֵɹʻ
ʉY^Y^Y^Y^Y^Yʉ
2018/8/3 Ansible Night in Fukuoka 2018.08 17
Slide 18
Slide 18 text
ߏཧπʔϧͳ͠
• खॱॻΛݩʹखಈͰઃఆ
• खಈΦϖϛεͷՄೳੑ
• खॱॻຊʹ࠷৽ʁ
• ࢼ͞ΕΔهԱྗ
• ൿͷλϨ
2018/8/3 Ansible Night in Fukuoka 2018.08 18
Slide 19
Slide 19 text
ߏཧπʔϧ͋Γ
• खॱΛίʔυͰهड़
• ίʔυΛ࣮ߦͯࣗ͠ಈͰઃఆ
• ୭Ͱ࣮ߦͰ͖Δ
• ίʔυ͕࠷৽ͷঢ়ଶ
• όʔδϣϯཧ(Git)ͯ͠ɺҎલͷঢ়ଶʹ͢ͷ؆୯
• Կ࣮ߦͯ͠ಉ͡ঢ়ଶʢႈੑʣ
2018/8/3 Ansible Night in Fukuoka 2018.08 19
Slide 20
Slide 20 text
͞Βʹ
2018/8/3 Ansible Night in Fukuoka 2018.08 20
Slide 21
Slide 21 text
ίʔυڞ௨Խ (Ansible Role)
• ͍ͭΠϯετʔϧ(sysstat, git)
• ֤छϛυϧΣΞ(Apache, MySQL)
• ΫϥυʹԠͨ͡ઃఆ(ϝϞϦΩϟογϡ)
͑͏΄ͲRoleࢿ࢈͕૿͑Δ
2018/8/3 Ansible Night in Fukuoka 2018.08 21
Slide 22
Slide 22 text
Let's Ansible
2018/8/3 Ansible Night in Fukuoka 2018.08 22
Slide 23
Slide 23 text
࠷ݶඞཁͳ
• Python
• AnsibleίϚϯυ
• inventory
• module
• playbook
2018/8/3 Ansible Night in Fukuoka 2018.08 23
Slide 24
Slide 24 text
AnsibleίϚϯυ
Πϯετʔϧ
$ pip install ansible
2018/8/3 Ansible Night in Fukuoka 2018.08 24
Slide 25
Slide 25 text
inventory
࡞ۀରͱͳΔϗετΛهड़͢ΔϑΝΠϧ
[web]
192.168.0.10
[db]
192.168.0.20
2018/8/3 Ansible Night in Fukuoka 2018.08 25
Slide 26
Slide 26 text
module
ΠϯετʔϧαʔϏεىಈͳͲίϚϯυͷ෦
• yum
• service
$ ansible -i hosts web -m ping
192.168.0.10 | success >> {
"changed": false,
"ping": "pong"
}
2018/8/3 Ansible Night in Fukuoka 2018.08 26
Slide 27
Slide 27 text
playbook
ϞδϡʔϧΛ࣮࣮ͯ͠ߦ͢Δ෦
- hosts: web
sudo: 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=running enabled=yes
2018/8/3 Ansible Night in Fukuoka 2018.08 27
Slide 28
Slide 28 text
playbook࣮ߦ
$ ansible-playbook -i hosts simple.yml
PLAY [web] ************************************************************
GATHERING FACTS ***************************************************************
ok: [192.168.0.10]
TASK: [be sure httpd is installed] ********************************************
changed: [192.168.0.10]
TASK: [be sure httpd is running and enabled] **********************************
changed: [192.168.0.10]
PLAY RECAP ********************************************************************
192.168.0.10 : ok=3 changed=2 unreachable=0 failed=0
2018/8/3 Ansible Night in Fukuoka 2018.08 28
Slide 29
Slide 29 text
ଞʹ
• Ϋϥυ
• Vagrant
• Windows
• git
• ωοτϫʔΫػث
ͳͲͳͲ
2018/8/3 Ansible Night in Fukuoka 2018.08 29
Slide 30
Slide 30 text
AnsibleΛಋೖ͍ͯ͠ΔՕॴ
• αʔόʔϓϩϏδϣχϯά
• ΞϓϦέʔγϣϯσϓϩΠ
Ϋϥυ෦AWS CloudFormationAzure ARM Templateɺ
TerraformΛ͍ͬͯ·͢ɻ
2018/8/3 Ansible Night in Fukuoka 2018.08 30
Slide 31
Slide 31 text
Ansibleͷӡ༻
2018/8/3 Ansible Night in Fukuoka 2018.08 31