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

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

tenforward
December 03, 2018

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

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

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