Slide 1

Slide 1 text

͋Δ͍͸Լ๺ܥΠϯσΟʔόϯυγʔϯʹ͍ͭͯ 6DIJP,POEP ,*94 ๻ͱ)BDPOJXB GSPNIUUQTIPXDBTFDJUZGVLVPLBMHKQBMMSJHIUTSFTFSWFE

Slide 2

Slide 2 text

ΤϯδχΞ݉ਓؒ 6DIJP,POEP!VE[VSB (.0ϖύϘٕज़ج൫νʔϜ

Slide 3

Slide 3 text

!VE[VSBͷਓؒྺ ೥΄Ͳ3VCZਥͱͯ͠ΞοϓϦέʔγϣ ϯΤϯδχΞΛܦݧ͠ɺۀ຿γεςϜɺ &$αΠτɺΦϯϥΠϯήʔϜͳͲΛ ܦͯϖύϘ΁ɻͦΕͱҰॹʹౚژ͔Β ෱ԬʹҠॅ͢Δɻ ϖύϘͰ͸ྲྀΕͰ1VQQFUΛओʹ৮Δ ۀ຿ʹैࣄ͍͕ͯͨ͠ɺ࠷ۙ͸$ݴޠ ͱNSVCZͰγεςϜϓϩάϥϛϯάॳ ৺ऀͱͯ͠ؤு͍ͬͯΔɻ ޷͖ͳϙέϞϯൃੜ஍Ҭ͸ඦಓ඿ɻ

Slide 4

Slide 4 text

ΞϨ͸Ͱ͢CZ=

Slide 5

Slide 5 text

)BDPOJXBͱ͸

Slide 6

Slide 6 text

)BDPOJXBͱ͸ wίϯςφΤϯδϯ w࠷େͷಛ௃͸ɺ3VCZ NSVCZ Ͱίϯςφͷઃఆ͕ࣗ༝ࣗࡏʹॻ͚Δ͜ͱ w%PDLFSΛଧ౗͠ͳ͍͚Ͳɺ%PDLFSͰ͸ϠϦͮΒͦ͏ͳ͜ͱ͸Ͱ͖Δ͔΋ʁ

Slide 7

Slide 7 text

ίϯςφΤϯδϯͱ͸ wίϯςφ͸૊Έ߹Θͤɻ w۩ମతʹ͸ɺ-JOVYOBNFTQBDFɺDHSPVQɺ-JOVYDBQBCJMJUJFTɺ DISPPUɺCJOENPVOUɺͳΜ΍͔΍Λ૊Έ߹ΘͤͯɺϓϩηεʢͷҰ܈ʣΛ ͔͋ͨ΋Ծ૝؀ڥͷΑ͏ʹݟͤͯ׆༻͢Δٕज़ w)BDPOJXB͸ɺ͜ͷؔ࿈ٕज़Λૢ࡞͢ΔNSVCZHFNΛͻͨ͢Β࡞Γ·͘Γɺ ૊Έ߹Θͤͯɺίϯςφ؀ڥΛ࣮ݱ͍ͯ͠·͢ɻ

Slide 8

Slide 8 text

໊લͷ༝དྷ w·Μ·ʮശఉʯͳΜ͚ͩͲɺ௕͘ͳΓ·ͯ͠ w΋ͱ΋ͱɺ೔ຊͰҰ൪༗໊ͳKBJMͰ͋Δʮ"CBTIJSJʯͱ͍͏໊લΛ͚ͭΑ͏ͱ wࢥ͚ͬͨͲɺઑΓ͔͗͢ͳͬͯࢥ͍௚͠

Slide 9

Slide 9 text

໊લͷ w࣍ʹࢥ͍͍ͭͨͷ͕ɺԼ๺୔ͰΠϯσΟʔόϯυͱͯ͠׆༂͍ͯͨ͠ʢࠓ΋ͨ ·ʹϥΠϒΛ͍ͯ͠Δʣʮശఉͷࣨ಺ָʯͱ͍͏ɺۂ͕جຊతʹมഥࢠͷɺι ϑτϚγʔϯͱϖΠϰϝϯτΛ଍ͯ͠ແཧ਺ͰׂͬͨΑ͏ͳόϯυ͕͋Γɺ wʢҎԼ෼͙Β͍ɺθϩ೥୅ͷԼ๺୔ΠϯσΟʔζϩοΫͷ࿩Λ͢Δʣ

Slide 10

Slide 10 text

ͱ͜ΖͰɺ๻ʹ͸ɺϓϩάϥϚͱͯ͠ເ͕͋ͬͨ wҰ౓Ͱ͍͍͔Βɺࣗ෼ͷ޷͖ͳόϯυ͋Δ͍͸ۂͷ໊લͷ෇͍ͨ w044ϓϩμΫτΛ wੈʹग़͔ͨͬͨ͠ wग़͔ͨͬͨ͠Μͩʂ

Slide 11

Slide 11 text

׎ͬͨ

Slide 12

Slide 12 text

ࠓ೔ͷ·ͱΊເ͸׎͏

Slide 13

Slide 13 text

ؓ࿩ ٳ୊ GSPNIUUQTIPXDBTFDJUZGVLVPLBMHKQBMMSJHIUTSFTFSWFE

Slide 14

Slide 14 text

)BDPOJXBΛ෼Ͱࢼ͢

Slide 15

Slide 15 text

͜ͷઌɺ3VCZ,BJHJ޲͚ͷࢿྉΛ ྲྀ༻͍ͤͯͩ͘͞͞ɻɻɻɻɻɻ

Slide 16

Slide 16 text

͔ͩΒϑΥϯτ΋มΘΓ·͢ʂʂ̍

Slide 17

Slide 17 text

Πϯετʔϧ w QBDLBHFDMPVE͔Βམͱͤ·͢ɻ؆୯Ͱ͢Ͷʂ
 IUUQTQBDLBHFDMPVEJPVE[VSBIBDPOJXBJOTUBMM # example for deb-ish distro curl -s https://packagecloud.io/install/repositories/udzura/ haconiwa/script.deb.sh | sudo bash apt-get update apt-get install haconiwa apt-get install lxc # It’s required to bootstrap fs

Slide 18

Slide 18 text

࠷ॳʹઃఆϑΝΠϧΛੜ੒͠·͢ $ haconiwa new test.haco assign new haconiwa name = haconiwa-0491a405 assign rootfs location = /var/lib/haconiwa/0491a405 create test.haco

Slide 19

Slide 19 text

͜ͷઃఆϑΝΠϧ͸࣮ࡍͨͩͷ3VCZεΫϦϓτͰ͢

Slide 20

Slide 20 text

lIBDPOJXBDSFBUFzͰϑΝΠϧγεςϜΛ࡞Γ·͢ w ੜ੒͞Εͨ··ͩͱBMQJOFMJOVY͕MYDDSFBUFͰ࡞ΒΕ·͢

Slide 21

Slide 21 text

TTIEΛΠϯετʔϧͯ͠ةݥͳઃఆΛ͠·͢ Haconiwa.define do |config|
 #...
 config.provision do |p| p.run_shell <<-SHELL apk add --update openssh sed -i 's/#Port.*/Port 2222/' /etc/ssh/sshd_config # NOTE: αϯϓϧ͔ͩΒͶʂ sed -i 's/#PermitRootLogin.*/PermitRootLogin yes/' /etc/ssh/sshd_config sed -i 's/#PasswordAuthentication.*/PasswordAuthentication yes/' /etc/ssh/sshd_config echo root:r00t | chpasswd ssh-keygen -t rsa -P "" -f /etc/ssh/ssh_host_rsa_key SHELL end #... end

Slide 22

Slide 22 text

lIBDPOJXBQSPWJTJPOzͰ΋͏Ұ౓ϓϩϏδϣχϯά

Slide 23

Slide 23 text

lJOJUzίϚϯυΛTTIEʹม͑ͯɺσʔϞϯԽ͠·͢ Haconiwa.define do |config| # The container name and container's hostname: config.name = "haconiwa-0491a405" # The first process when invoking haconiwa run: # config.init_command = "/bin/bash" # To: config.init_command = %w(/usr/sbin/sshd -D) # And uncomment: config.daemonize!
 #...
 end $ haconiwa run test.haco

Slide 24

Slide 24 text

No content

Slide 25

Slide 25 text

ຬ଍ͨ͠ΒɺlIBDPOJXBLJMMzͰ΍͚ͬͭ·͢ $ haconiwa kill test.haco Kill success

Slide 26

Slide 26 text

Ҏ্ʂ

Slide 27

Slide 27 text

ׂͱͪΌΜͱίϯςφͰ͖ͯͳ͍ʁ

Slide 28

Slide 28 text

͍͚Δͬͯʂ

Slide 29

Slide 29 text

ྫ͑͹͜͏͍͏࣌ʢ༧ఆʣ wϗετͱ৭ʑͳOBNFTQBDFΛڞ༗ͨ͠؀ڥΛ࡞Γ͍ͨ wੜ੒࣌ʹɺಈతʹDHSPVQͷύϥϝʔλΛม͍͑ͨ wͳΜ͔ෳࡶͳCJOENPVOUΛܦͯSPPUGTΛ࡞Γ͍ͨ w%̋DLFSΑΓܰΊʹϚΠΫϩαʔϏοε͍ͨ͠ͳʙʙʙ͋ʙʙʙʙ wͳͲͳͲ wকདྷతʹɺΦʔέετϨʔγϣϯ૚΋αϙʔτ͍ͨ͠ɺͰ͖Δͱ͍͍Ͱ͢Ͷ

Slide 30

Slide 30 text

ͪͳΈʹ wFUDE qBOOFMͱ૊Έ߹ΘͤͯΦʔόϨΠωοτϫʔΫͳΜ͔΋ wOFUOT͸ࣗ࡞͍ͯͩ͘͠͞ʢͦΕΛIBDPOJXB͸࠶ར༻Ͱ͖·͢ʣ

Slide 31

Slide 31 text

˞ࠓճ͸ಈ͖·ͤΜ

Slide 32

Slide 32 text

৬ਓͷ࡞ΔOFUOT͔Β QJOHΛଧͭͱɺ ύέοτʹஆ͔Έ͕͋Δ

Slide 33

Slide 33 text

ӕͰ͍ۙ͢͏ͪʹ )BDPOJXBʹ૊ΈࠐΈ·͢ ͳΜ͔ܰͯ͘ૄ݁߹ͳ΍ΓํΛߟ͍͑ͨͰ͢Ͷ

Slide 34

Slide 34 text

·ͱΊ·͢

Slide 35

Slide 35 text

ࠓ೔ͷ·ͱΊ w)BDPOJXB͸Լ๺୔ܥมഥࢠίϯςφͰ͢ w)BDPOJXBͷৄࡉΛ஌Γ͍ͨํ͸ɺͥͻ࠶དྷिͷ3VCZ,BJHJ΁ʂ wژ౎ͰѲखʂ

Slide 36

Slide 36 text

No content

Slide 37

Slide 37 text



Slide 38

Slide 38 text

)BDPOJXBJTVOEFSEFWFMPQNFOU  Ͱ͕͢ɺ༡ΜͰΈͯͶ