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

インフラエンジニアとしてのわたしの研究開発とこれから注目のコンテナ技術

MATSUMOTO Ryosuke
November 01, 2018
8.5k

 インフラエンジニアとしてのわたしの研究開発とこれから注目のコンテナ技術

インフラエンジニアとしてのわたしの研究開発とこれから注目のコンテナ技術

福岡ゆるっとIT交流会 vol.8「インフラエンジニアの話を聞こう」
2018/11/01
さくらインターネット株式会社
さくらインターネット研究所
上級研究員 松本亮介

MATSUMOTO Ryosuke

November 01, 2018
Tweet

More Decks by MATSUMOTO Ryosuke

Transcript

  1. 2 ɾ͘͞ΒΠϯλʔωοτݚڀॴ ্ڃݚڀһ (ॳग़ࣾ!) ɾגࣜձࣾGrooves Forkewll ٕज़ސ໰ ɾϖύϘݚڀॴ ٬һݚڀһ ݚڀސ໰

    ɾηΩϡϦςΟɾΩϟϯϓߨࢣ ɾ৘ใॲཧֶձ Πϯλʔωοτͱӡ༻ٕज़ݚڀձ ֤छҕһ ɾژ౎େֶത࢜ʢ৘ใֶʣ দຊ྄հ / ·ͭ΋ͱΓʔ / @matsumotory
  2. 5 ɾStudies on Highly Integrated Multi-Tenant Architecture for Web Servers

    [1] ɾʦഎܠʧݸਓͷଟ͕͘WebαΠτΛ࣋ͭ࣌୅ ɾʦ໰୊ʧWebαʔόͷߴूੵϚϧνςφϯτΞʔΩςΫνϟ ɾʦߩݙʧӡ༻ٕज़ɺηΩϡϦςΟɺੑೳɺϦιʔε؅ཧΛߟྀͨ͠ ࠷దͳΞʔΩςΫνϟ ത࢜՝ఔ࣌୅ͷςʔϚ [1] Ryosuke M, Studies on Highly Integrated Multi-Tenant Architecture for Web Servers, https://repository.kulib.kyoto- u.ac.jp/dspace/handle/2433/225954, Kyoto University, Ph.D. thesis, 2017.
  3. 14 ίϯςφϥϯλΠϜͷϨΠϠʔϞσϧԽ CRI ίϯςφϥϯλΠϜ ϥϯλΠϜ ্هͷΑ͏ʹఆٛ͞ΕΔ͜ͱ͕ଟ͍͕ɺ ίϯςφϥϯλΠϜͷதʹruncͳͲͷ ϥϯλΠϜ͕͋Δͱ͍͏ͷ͸গ͠Θ͔ Γʹ͍͘ɻ CRI

    CRIϥϯλΠϜ OCI OCIϥϯλΠϜ ίϯςφϥϯλΠϜ ΛϥϯλΠϜͷ໾ׂ ͰϨΠϠʔϞσϧԽ CRIϥϯλΠϜͱOCIϥϯλΠϜͱఆٛ※1ɻ͜ͷ2ͭ ͷϥϯλΠϜΛ·ͱΊͯίϯςφϥϯλΠϜͱ͢Δɻ CRI : Container Runtime Interface OCI: Open Container Initiative Runtime/Format Specification ※1 Google CloudͷIan Lewisࢯ͸CRIϥϯλΠϜΛHigh-Level RuntimeɺOCIϥϯλΠϜΛLow-Level Runtimesͱఆٛ https://www.ianlewis.org/en/container-runtimes-part-1-introduction-container-r
  4. 15 ίϯςφपลͷجຊϨΠϠʔϞσϧ ΦʔέετϨʔγϣϯ CRI CRIϥϯλΠϜ OCI OCIϥϯλΠϜ ίϯςφ܈ CRIܦ༝ͰΦʔέετϨʔγϣϯʹجͮ ͖ίϯςφߏ੒৘ใΛड͚औͬͨΓίϯ

    ςφΠϝʔδΛ؅ཧ͢ΔCRIϥϯλΠϜ ʢcri-oɺcontainerdͳͲʣ ίϯςφͷߏ੒৘ใ΍ΠϝʔδͳͲ͔Β ίϯςφͷϦιʔεׂ౰΍ݖݶ෼཭Λߦͬ ͯίϯςφΛىಈͤ͞ΔOCIϥϯλΠϜ ʢrunCɺrunscɺrunncɺrunVɺkata- runtimeɺcc-runtimeͳͲʣ
  5. 16 ྫɿίϯςφपลͷجຊϨΠϠʔϞσϧ kubelet CRI containerd OCI runC ίϯςφ܈ ίϯςφͷߏ੒৘ใ΍ΠϝʔδͳͲ͔Β ίϯςφͷϦιʔεׂ౰΍ݖݶ෼཭Λߦͬ

    ͯίϯςφΛىಈͤ͞ΔOCIϥϯλΠϜ ʢrunCɺrunscɺrunncɺrunVɺkata- runtimeɺcc-runtimeͳͲʣ CRIͱOCIʹ४ڌ͍ͯ͠Ε͹ɺ ΦʔέετϨʔγϣϯ૚͸ kubernetesΛ࢖͍ͭͭɺ޷͖ʹ CRIϥϯλΠϜ΍OCIϥϯλΠϜ Λஔ͖׵͑Մೳ CRIܦ༝ͰΦʔέετϨʔγϣϯʹجͮ ͖ίϯςφߏ੒৘ใΛड͚औͬͨΓίϯ ςφΠϝʔδΛ؅ཧ͢ΔCRIϥϯλΠϜ ʢcri-oɺcontainerdͳͲʣ
  6. Docker 17 ࢀߟɿίϯςφपลͷDockerϨΠϠʔϞσϧ kubelet CRI containerd OCI runC ίϯςφ܈ dockershim

    جຊతͳϨΠϠʔϞσϧ͸ಉͩ͡ ͕DockerΠϯλϑΣʔε͕શମΛ แΜͰΦʔέετϨʔγϣϯ಺ʹ ಺แ͞Εͨdockershim͕Docker ϨΠϠʔΛதܧ͢Δɻ CRIϥϯλΠϜʹ͸containerdɺ OCIϥϯλΠϜʹ͸runC͕σϑΥ ϧτͰ࢖ΘΕΔɻ
  7. 22 ࠶ܝɿίϯςφपลͷجຊϨΠϠʔϞσϧ ΦʔέετϨʔγϣϯ CRI CRIϥϯλΠϜ OCI OCIϥϯλΠϜ ίϯςφ܈ ίϯςφͷߏ੒৘ใ΍ΠϝʔδͳͲ͔Β ίϯςφͷϦιʔεׂ౰΍ݖݶ෼཭Λߦͬ

    ͯίϯςφΛىಈͤ͞ΔOCIϥϯλΠϜ ʢrunCɺrunscɺrunncɺrunVɺkata- runtimeɺcc-runtimeͳͲʣ CRIܦ༝ͰΦʔέετϨʔγϣϯʹجͮ ͖ίϯςφߏ੒৘ใΛड͚औͬͨΓίϯ ςφΠϝʔδΛ؅ཧ͢ΔCRIϥϯλΠϜ ʢcri-oɺcontainerdͳͲʣ