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

システムコンテナ向けエンジン LXC/LXD のご紹介 / JapanContainerDay...

Avatar for tenforward tenforward
December 03, 2018

システムコンテナ向けエンジン LXC/LXD のご紹介 / JapanContainerDays v18.12 meetup

JapanContainerDays v18.12 Meetup の資料です。
参考となる情報にはPDF中からリンクをしていますが、資料中のリンクは Speaker Deck 上ではクリックできないので PDF をダウンロードしてご覧ください。

Avatar for tenforward

tenforward

December 03, 2018
Tweet

More Decks by tenforward

Other Decks in Technology

Transcript

  1. linuxcontainers.org • ʮγεςϜίϯςφʯʹϑΥʔΧεΛ౰ͯɺؔ࿈͢ΔϓϩμΫτͷ։ൃΛߦ͏ϓϩ δΣΫτ • ։ൃͷத৺ͱͳΔΤϯδχΞ͸ Canonical/Ubuntu ํ໘ͷΤϯδχΞ • ϓϩμΫτ

    • LXC • LXD • LXCFS cgroup Λ࢖͍ proc ҎԼͷϑΝΠϧʹίϯςφ޲͚Ϧιʔε৘ใΛఏڙ • Ubuntu ͷ LTS ϦϦʔεʹ߹ΘͤͯϝδϟʔόʔδϣϯΞοϓʢݱࡏ͍ͣΕ΋ 3.xʣ 4/12
  2. LXC • ΋ͱ΋ͱ͸ Linux Χʔωϧʹ࣮૷͕ਐΉ֤छίϯςφؔ࿈ػೳΛ։ൃऀ͕ࢼͨ͢ Ίʹ࡞ΒΕͨ • ୯Ұϗετ্ͷίϯςφΛѻ͏ͨΊͷϥΠϒϥϦʢliblxcʣͱπʔϧ܈ • ֤छݴޠ͔Β࢖͏ͨΊͷόΠϯσΟϯάʢgolangɺpythonɺrubyɺluaʣ

    • 0.9 Ҏલ͸ Docker ͸ཪͰ LXC ͷίϚϯυΛݺͼग़͍ͯͨ͠ʢ౰࣌ͷ LXC ͸ ϥΠϒϥϦԽ͞Ε͍ͯͳ͔ͬͨʣ   # ps axf : (snip) 1363 pts/2 Ssl+ 0:15 /usr/local/bin/docker -d 3661 pts/4 Ss 0:00 \_ lxc-start -n 2bca4c0732612be32fcb978c48c260c37a9b494cf37a6844f0ddefb2d4441ca1 -f /var/lib/doc 3665 pts/4 S+ 0:00 \_ /bin/bash   5/12
  3. LXD • ωοτϫʔΫ্ͷίϯςφϗετͱ LXC ίϯςφΛ؅ཧ͢Δ • UNIX ιέοτ or ωοτϫʔΫܦ༝Ͱ

    REST API ΛఏڙʢίϚϯυϥΠϯΫϥ ΠΞϯτ͕ଘࡏ͢Δʣ • Go όΠϯσΟϯάܦ༝Ͱ liblxc Λ࢖༻ʢLXC ͷॻ͖௚͠Ͱ͸ͳ͍ʣ • ຊ֨తͳ IaaS ؀ڥ޲͚ʹ͸ OpenStack ޲͚ͷυϥΠό͕ଘࡏ OpenStack Ͱͷར༻͸͜ͷ͋ͱͷηογϣϯʮOpenStack ʹΑΔ LXD ίϯς φ׆༻ೖ໳ʯΛͲ͏ͧʂ 6/12
  4. LXD ͷػೳ • ΠϝʔδϕʔεʢUbuntu ΍֤छσΟετϦϏϡʔγϣϯͷΠϝʔδ͕४උ͞Ε ͍ͯΔʣ • جຊ͸ඇಛݖίϯςφʢಛݖίϯςφ΋Մೳʣ • ϓϩϑΝΠϧʢίϯςφͷߏ੒΍ɺ͋ΒΏΔઃఆΛϓϩϑΝΠϧͱͯ͠อ࣋͠ɺί

    ϯςφʹద༻Մೳʣ • ʢྫʣEC2 ෩ͷΠϯελϯελΠϓͰίϯςφ࡞੒Մೳ ʢlxc launch ubuntu:18.04 ct01 -t t2.microʣ • ωετʢίϯςφ in ίϯςφʣՄೳ • ؆қతͳΫϥελϦϯάػೳʢશ LXD ϊʔυͰ DB Λಉظʣ • CRIU Λ࢖ͬͨϥΠϒϚΠάϨʔγϣϯ ʢCRIU ͸ 12/5 ޕޙʹηογϣϯ͕͋Γ·͢Ͷʂ ʣ • cloud-init αϙʔτ • ༷ʑͳετϨʔδʢϑΝΠϧγεςϜʣʹରԠ͠ɺͦΕͧΕͷػೳʹԠͨ͡ૢ࡞͕ Մೳ 7/12
  5. LXC/LXD Λ࢖͏ཧ༝ • γεςϜίϯςφ ˠੈͷதΞϓϦέʔγϣϯίϯςφͰຬͨ͞ΕΔཁ݅͹͔ΓͰ͸ͳ͍Ͱ͢ΑͶ? ܰ ྔͳԾ૝ϗετ؀ڥͱͯ͠ • ΦϑΟγϟϧͳ೔ຊޠυΩϡϝϯτ͕ଗ͍ͬͯΔ ˠ

    linuxcontainers.org Ͱ΄΅׬ᘳʹ຋༁͞Ε͍ͯΔͷ͸೔ຊޠ͚ͩ!! • Linux Χʔωϧʹଟ਺࣮૷͞Ε͍ͯΔίϯςφؔ࿈ػೳΛ࢖ͬͯΈ͍ͨ! ˠ LXC ͸ΧʔωϧͷػೳΛϑϧʹ࣮૷ͯ͠࡞ΒΕ͍ͯΔ 8/12
  6. LXD Λࢼ͢ʹ͸ 1. ʢUbuntu Server ؀ڥͷ৔߹ʣlxd σʔϞϯͷॳظԽ   $

    sudo lxd init ʢ࣭໰ʹ౴͑Δʣ   ʢΦϯϥΠϯ؀ڥͷ৔߹͸ෆཁʣ 2. ίϯςφͷىಈ   $ lxc launch ubuntu:18.04   10/12