Upgrade to Pro — share decks privately, control downloads, hide ads and more …

君の開発環境再現できる?~ローカルで始めるAnsible入門~ / An Introduction of Ansible

君の開発環境再現できる?~ローカルで始めるAnsible入門~ / An Introduction of Ansible

複雑怪奇な魔界となってしまいがちな開発環境を,プロビジョニングツールを使ってちゃんと管理したくないですか?という話

Pudding

June 29, 2018
Tweet

More Decks by Pudding

Other Decks in Programming

Transcript

  1. ˔ ର৅Ϛγϯͷ͋Δ΂͖ঢ়ଶΛهड़͢Δ º ʮ˘˘ΛΠϯετʔϧ͢Δʯʮ˚˚Λઃఆ͢Δʯ ˓ ʮ˘˘͕Πϯετʔϧ͞Ε͍ͯΔʯʮ˚˚Ͱ͋Δʯ ˔ ΤʔδΣϯτϨε ˓ ର৅ͷϚγϯʹ͸1ZUIPO͕ೖ͍ͬͯΕ͹0,

    ˔ ႈ౳ੑ ˓ ͋Δૢ࡞ΛҰճߦͬͯ΋ෳ਺ճߦͬͯ΋݁Ռ͕ಉ͡ ˓ ʢͨͩ͠"OTJCMF͕อূ͢ΔൣғͷΈʣ ˔ ZBNMͰهड़͢Δ ˓ ϓϩάϥϛϯά஌ࣝ͸ෆཁʢෆཁͱ͸ݴͬͯͳ͍ʣ "OTJCMFͷಛ௃
  2. ˔ ΤʔδΣϯτͱ͸ɼઃఆΛ ࣮ߦ͢Διϑτ΢ΣΞ ˔ "OTJCMF͸44)ͱ1ZUIPOΛ ࢖༻ ˓ ϗετ্ͷ1ZUIPO͕࣮ߦ ˓ ओཁͳ-JOVYσΟετϦϏϡʔ

    γϣϯʹ͸جຊతʹ1ZUIPO ·ͨ͸͕ଘࡏ ˓ ࣮࣭ΤʔδΣϯτϨε ˓ ϩʔΧϧͰ͸QZUIPO͕
 ͋Ε͹ಈ͘ ΤʔδΣϯτϨε 44) ΫϥΠΞϯτ ϗετ
  3. ˔ IPHFDPOGʹ4&$3&5IPHFͱॻ͖ࠐΈ͍ͨ ˔ ͍Ζ͍Ζͳํ๏͕͋Δ ˓ FDIPͰ௥ه ˓ DBUͰॻ͖ࠐΈ ˓ ͦ΋ͦ΋ॻ͖ࠐΜͰ͓͍ͨ΋ͷΛίϐʔ

    ႈ౳ੑ $ echo "SECRET=hoge" >> hoge.conf $ echo "SECRET=hoge" | tee hoge.conf $ cat << EOF >> hoge.conf
 SECRET=hoge
 EOF $ cp hoge.conf /path/to/hoge.conf
  4. IPHFDPOG ˔ ෳ਺ճ࣮ߦͨ͠Βʜʁ ႈ౳ੑ ˔ ႈ౳Ͱ͋Δͱ͍͏͜ͱ͸ɼҰճͷ࣮ߦͰ΋ෳ਺ճ ͷ࣮ߦͰ΋݁Ռ͕มΘΒͳ͍͜ͱ IPHFDPOG 4&$3&5IPHF IPHFDPOG

    IPHFDPOG 4&$3&5IPHF 4&$3&5IPHF 4&$3&5IPHF ճ໨ ճ໨ IPHFDPOG IPHFDPOG 4&$3&5IPHF IPHFDPOG IPHFDPOG 4&$3&5IPHF 4&$3&5IPHF ճ໨ ճ໨
  5. ˔ γΣϧεΫϦϓτͰอূ͢Δͷ͸೉͍͠ ˓ ͦͷ࢓૊ΈΛߟ͑Δ͚ͩͰͭΒ͍ ˔ ௥هͰ͸ͳ্͘ॻ͖ʹ͢Ε͹͍͍ͷͰ͸ʜʁ ˓ ඞཁͳઃఆ஋Λશͯهड़͢Δඞཁ͕ग़ͯ͘Δ ˓ ߋ৽೔࣌͸มߋ͞Εͯ͠·͏

    ˔ "OTJCMFͰ͸MJOFJOpMFϞδϡʔϧ͕࢖͑Δ ˓ طʹͦͷߦ͕ଘࡏ͢Δ৔߹ɼ௥ه͠ͳ͍ ˓ ΋ͪΖΜߋ৽೔࣌΋มߋ͞Εͳ͍ ˓ ࣮ߦ͢Δ౓ʹک͑ͳͯ͘ࡁΉ ႈ౳ੑ
  6. ˔ ΄Ͳ͋ΔΒ͍͠ʁʢʣ ˔ جຊతͳૢ࡞ ˓ pMFɿϑΝΠϧɾσΟϨΫτϦͷૢ࡞ ˓ DPQZɿϑΝΠϧͷίϐʔ ˓ TIFMMɿγΣϧεΫϦϓτͷ࣮ߦ

    ˔ ύοέʔδ؅ཧ ˓ BQUɾCSFXɾZVNɾDIPDPɾQBDNBOʜ ˔ Ϋϥ΢υ ˓ "84ɾ"[VSFɾ($1ʜ "OTJCMFNPEVMFT
  7. ZBNM - block: - name: Obtain ubuntu code name shell:

    lsb_release -cs register: ubuntu_codename changed_when: False - name: Create apt list dir file: path: /etc/apt/sources.list.d state: directory owner: root become: yes - name: Add IIJ and JAIST server to apt li template: src: 'templates/{{ item }}.list' dest: '/etc/apt/sources.list.d/{{ item owner: root become: yes with_items: - iij - jaist - name: Install python-apt package pip: name: python-apt become: yes tags: apt_add ˔ ઃఆϑΝΠϧͱͯ͠
 ଟ͘࠾༻͞Ε͍ͯΔ ˔ Մಡੑ͕ൺֱతߴ͘ɼ ֮͑΍͍͢จ๏
 ʢ΄Μ·͔ʣ ˔ ๛෋ͳઃఆྫ͕ωοτ ্ʹ͋Δ
  8. ˔ ࠷ॳʹ"OTJCMFΛΠϯετʔϧ͢Δͷ͸ࣗಈԽ
 ͢Δͷ͸೉͘͠ͳ͍ ˓ γΣϧεΫϦϓτͰ͍͍ͩͨԿͱ͔ͳΔ ˔ .BDͰ͸"EPCFɼ.40⒏DFΛআ͍ͨ΄΅શͯ ˓ ޙ͸্ཱͪ͛ͯϩάΠϯ͢Δ͚ͩͳͲ͕ଟ͍ ˓

    1MBZCPPLΛ࣮ߦͯ࣌ؒ͠΄Ͳ଴͚ͭͩ ˔ 6CVOUVͰ͸(6*ΞϓϦέʔγϣϯҎ֎ ˓ +FUCSBJOTͷ*%&ͱ͔ ˔ 8JOEPXT༻ͷϞδϡʔϧ΋͋Δʹ͸͋Δ ˓ 84-ͷ6CVOUVͷηοτΞοϓ͔ͯ͠͠ͳ͍ ࠓͷͱ͜ΖࣗಈԽ͍ͯ͠Δ΋ͷ
  9. ˔ ։ൃ؀ڥߏஙָ͕ʹͳΔ ˓ Ҿ͖ܧ͗ʹ΋࢖͑Δ ˔ ؀ڥ͕ݪҼͷόάͷ࠶ݱΛ
 औΓ΍͍͢ ˓ ಉҰͷ؀ڥͷ෮ݩ͕༰қ ˔

    ཧղ౓ͷ޲্ ˔ Ϋϥ΢υ΁ద༻͢Δ࿅श ˓ ຊདྷͷ໨త͸ଟ਺ͷϗετͷ؅ཧ ˓ ϩʔΧϧͰ࢖͍ํΛֶͿ͜ͱ͸
 ൺֱతϋʔυϧ͕௿͍ ࣗಈԽͯ͠Կ͕خ͍͠ͷʁ
  10. ˔ ීஈԿؾͳ࣮͘ߦ͍ͯ͠ΔίϚϯυͷҙຯΛ
 ߟ͑Δඞཁ͕ग़ͯ͘Δ ˓ zԿΛz࣮ߦ͢Δ͔ΑΓ΋zͳͥz࣮ߦ͢Δͷ͔ ˔ ͍͔ʹखΛಈ͔͞ͳ͍͔ ˓ UPVDIBOEUSZ͠ͳ͍ͱ͍͏ҙຯͰ͸ͳ͍ ˓

    खಈͰઃఆ͍ͯ͠Δ߲໨ΛͰ͖Δ͚ͩίʔυʹ͢Δ ˓ (6*͸ఢ ˔ ࠷ॳ͔Β"OTJCMFͰ΍ͬͯ͠·͏ͱ͍͏ख΋͋Δ ؀ڥߏஙΛࣗಈԽ͢Δʹ͸