Share
Embed
超個体型データセンターOSとOCIランタイム
超個体型データセンターOSとOCIランタイム
はてな×さくらが考えるテクノロジーの未来 〜コンテナ・分散型データセンター〜
2019/03/20
さくらインターネット株式会社
さくらインターネット研究所
上級研究員
松本亮介 / まつもとりー / @matsumotory
MATSUMOTO Ryosuke PRO
March 20, 2019
Transcript
40 slides
-
͘͞ΒΠϯλʔωοτגࣜձࣾ (C) Copyright 1996-2019 SAKURA Internet Inc ͘͞ΒΠϯλʔωοτݚڀॴ ݸମܕσʔληϯλʔOSͱOCIϥϯλΠϜ 2019/03/20
্ڃݚڀһ দຊ ྄հ ͯͳ×͘͞Β͕ߟ͑ΔςΫϊϩδʔͷະདྷ ʙίϯςφɾࢄܕσʔληϯλʔʙ -
2 ɾ͘͞ΒΠϯλʔωοτݚڀॴ ্ڃݚڀһ ɾגࣜձࣾGrooves Forkewll ٕज़ސ ɾϖύϘݚڀॴ ٬һݚڀһ ݚڀސ ɾηΩϡϦςΟɾΩϟϯϓߨࢣ
ɾใॲཧֶձ Πϯλʔωοτͱӡ༻ٕज़ݚڀձ ֤छҕһ ɾژେֶത࢜ʢใֶʣ দຊ྄հ / ·ͭͱΓʔ / @matsumotory -
3 1. എܠͱత 2. ݸମܕσʔληϯλʔ 3. ݸମܕσʔληϯλʔOSͱίϯςφ 4. ίϯςφͷOCIϥϯλΠϜͷαʔϕΠͱ࣮ݧ 5.
·ͱΊ ࣍ ※͜ͷݚڀʹج͍͍ͮͯ·͢: দຊ྄հ, ௶༎थ, ٶԼ߶ี, ࢄܕσʔληϯλʔOSΛࢦͨ͠ϦΞΫςΟϒੑΛ࣋ͭίϯ ςφ࣮ߦج൫ٕज़, ใॲཧֶձݚڀใࠂΠϯλʔωοτͱӡ༻ٕज़ʢIOTʣ, No.2019-IOT-44, Vol.27, pp.1-8, 20183݄. -
5 େنσʔληϯλʔͷूத • σʔληϯλʔͷେنԽͱूத • ίϯϐϡʔλϦιʔεͱίετͷޮԽ • Ϋϥυར༻͕͜͜Ͱਵͱଅਐ͞Ε͖ͯͨ • ٕज़എܠͷมԽʹͬͯOSSΫϥυαʔϏεٸʹมԽ
• ιϑτΣΞϕϯμʔʹڧ͘ґଘ͠ͳ͍มԽʹڧ͍ઃܭ͕ٸ • αʔϏεͷػೳͷநԽͱૄ݁߹ͳઃܭ͕ීٴ • ΫϥυωΠςΟϒɾϚϧνΫϥυɾϚΠΫϩαʔϏεԽ -
6 σʔληϯλʔͷूத͔Βࢄ • ΫϥυΛલఏʹϞϊϦγοΫͳαʔϏεઃܭ͔ΒϚΠΫϩαʔϏεԽ • αʔϏεͷ֤ػೳΛখ͞ͳαʔϏεͱ࣮ͯ͠͠gRPCͰ࿈ܞ • ϚΠΫϩαʔϏε୯ҐͰͷଟ༷ͳνʔϜ։ൃӡ༻ͷޮԽ • εέʔϦϯάো࣌ͷӨڹͷہॴԽ
• ϚΠΫϩαʔϏεؒͰͷଳҬෆϨΠςϯγʔͷݮ͕ٻΊΒΕΔ • େنσʔληϯλʔͷڑʢ౦ژͱੴङؒʣͰ͕ٞੜ࢝͡ΊΔ • αʔό͚ͩͰͳ͘ηϯαʔσόΠεͷߴԽɾଟԽʹΑΔଳҬෆ -
7 σʔληϯλʔػೳ͕ࣾձʹ༹͚ࠐΉະདྷ • ֤ίϯϐϡʔςΟϯάػೳ͕ݸମͱͯ͠ػೳͭͭ͠૯ମͱͯ͠౷ • ϥοΫϨϕϧͷίϯϐϡʔλ܈ɼEdge/FogίϯϐϡʔςΟϯάͳͲ • খɾதنσʔληϯλʔ͕ϋϒͱͳͬͯ݁Ռతʹશମ͕ଓɾߏ • ੜ׆ͷதͰਓʑ͕ίϯϐϡʔλͷΞγετΛৗʹड͚Δ࣌Λࢦ͢
• ͍·͔ͩͭͯͳ͍ϚγϯύϫʔͱΠϯςϦδΣϯεͳػೳΛఏڙ • ࣾձʹ༹͚ࠐΉσʔληϯλʔػೳ͓ΑͼΫϥυͷϚγϯύϫʔ • ݸମܕσʔληϯλʔ͓ΑͼOSͱίϯηϓτΛఆΊΔ -
8 ຊൃද • ݸମܕσʔληϯλʔʹ͓͚ΔίϯηϓτͱϏδϣϯͷհ • ݸମܕσʔληϯλʔOSʹඞཁͳཁ݅ͱ • ݱ࣮తͳWebΞϓϦέʔγϣϯΛѻ͏ίϯςΩετͰ·ͣݕ౼ • ίϯϐϡʔςΟϯάϦιʔε͕ࢄԽͨ͠ࡍͷίϯςφͷ͋Γํ
• σʔληϯλʔOSΛʹ͓͚ΔϓϩηεεϨουͱͯ͠ͷίϯςφ • ίϯςφͷϦΞΫςΟϒੑͷॏཁੑΛٞ • ݱࡏͷ֤ۀքͷऔΓΈίϯςφϥϯλΠϜͷྨͯ͠ཧ -
10 ͘͞ΒΠϯλʔωοτݚڀॴͷϑΥʔΧε T TF T AS T A
A P A P R T T T RI V -
11 ݱࡏͷΫϥυ͚ͩͰ͕ղܾͰ͖ΔΘ͚Ͱͳ͍ • ΑΓҰநԽͷਐΜͩΠϯλʔωοτͷ༷૬ͷมԽ • ΫϥυωΠςΟϒʹΑͬͯ͞ΒͳΔσʔληϯλʔͷڊେԽ • தԝूݖతͳίϯϐϡʔςΟϯάͰ͍͠έʔε • ϨΠςϯγ͕େ͖ͯ͘அ͕ؒʹ߹Θͳ͍ϦΞϧλΠϜ͕ཁٻ͞ΕΔέʔε
• ͋Δ͍σʔλ͕େͰଳҬ͕ෆ͢Δέʔε • ࠓޙΫϥυͷϚγϯύϫʔΛͲͷΑ͏ʹ׆༻Ͱ͖ΔੈքΛࢦ͖͔͢ʁ • ͘͞ΒΠϯλʔωοτݚڀॴͷίϯηϓτͱϏδϣϯΛ࠶ఆٛ -
14 ݸମܕσʔληϯλʔͷཧ 1. ݱࡏσʔληϯλʔʹڊେͳίϯϐϡʔςΟϯάϦιʔε͕ଘࡏ͍ͯ͠·͕͢ɺ ࠓޙϨΠςϯγʗηΩϡϦςΟʗίετͷཁ͔݅Βɺ͋ΒΏΔॴࣾձɺ ৫ʹίϯϐϡʔςΟϯάϦιʔε༹͕͚ࠐΜͰ͍͘͜ͱʹͳΓ·͢ɻ 2. ͦΕΒࢄͨ͠ίϯϐϡʔςΟϯάϦιʔεɺ୯ಠͰίϯϐϡʔςΟϯάύϫʔ Λఏڙ͢Δʹཹ·ΒͣɺͦͷॴࣾձͷཁٻʹԠͯ͡ɺࣗతʹɺࢄ͋Δ͍ ༗ػతʹ݁߹͠ɺݱɾΫϥυͦΕͧΕ͕ॎԣʹ݁ͼ͍ͭͨϋΠϒϦουߏΛ
࠾ΔΑ͏ʹػೳ͠·͢ɻ 3. ͜ͷΑ͏ͳγεςϜʹΑΓ࣮ݱ͞ΕΔͷɺਓʑͷۙʹଘࡏ͠ɺϦΞϧλΠϜ ͔ͭΠϯςϦδΣϯεʹϢʔβΛࢧ͑ͳ͕Βɺ͔͠͠ಉ࣌ʹόοΫΤϯυଆ͕༗ػ తʹ݁߹͢Δ͜ͱʹΑΓɺ͔ͭͯͳ͍ϚγϯύϫʔͱϦιʔεྔΛಈһ͢Δ͜ͱͰ ݱ࠷ద͔ͭશମ࠷దΛ࣮ݱ͢ΔSuper Organized WorldͰ͢ɻ -
16 দຊͷઐྖҬʹ͓͚Δݸମσʔληϯλʔ • ݸମܕσʔληϯλʔʹ͚ͨσʔληϯλʔOSͱίϯςφ • ࣮༻తͳWebAppɼWordPressͱ͔ɼΛ͏·͘ಈ͔͍ͨ͠ͱ͍͏είʔϓ • ComputeͱDataͷ͏ͪCompute-Intensiveʹ·ͣண • ࢄͨ͠σʔληϯλʔ্ʹಁաతʹࢄىಈ͢Δίϯςφ܈͕ඞཁ
• ߴʹࢄͨ͠σʔληϯλʔ্ʹOSͷΑ͏ͳബ͍ϨΠϠʔ͕ඞཁ • ݸମܕσʔληϯλʔOS্ʹϓϩηεͱεϨου͕ଘࡏ -
17 ಁաੑͱίϯςφͷϦΞΫςΟϒੑ • σʔληϯλʔΛಁաత͔ͭ༗ػతʹίϯςφ͕ॲཧΛߦ͏ඞཁ͕͋Δ • ༷ʑͳίϯςφϥϯλΠϜΛϓϩηεεϨουͱݟཱͯΔ • ίϯςφ͕ϦΞΫςΟϒʹঢ়ଶΛม͑ΒΕΔΑ͏ʹ͢Δඞཁ͕͋Δ • ࣄલ༧ଌతͰͳ͘ԠతʹΞΫηεมԽͱϦιʔεׂΛҰகͤ͞Δ
• ݸମతʹߴʹࢄͨ͠σʔληϯλʔΛލ͍ͩ༗ػతͳ࿈ܞ • ίϯςφؒͷ࿈ܞαʔόσʔληϯλʔؒΛߴҠಈ͢Δඞཁ͕͋Δ • ϓϩηεεϨουͷΑ͏ͳOSΛʹ͓͚ΔϦΞΫςΟϒੑ͕ٻΊΒΕ͍ͯ͘ -
19 ίϯςφ࣌ͷWebαʔϏεج൫Ϟσϧ দຊ྄հ, ۙ౻Ӊஐ࿕, ࡾ༔հ, ྗ݈࣍, ܀ྛ݈ଠ, FastContainer: ࣮ߦڥͷมԽʹૉૣ͘దԠͰ͖Δ߃ৗੑΛ࣋ͭγεςϜΞʔΩςΫνϟ, Πϯλʔωοτͱӡ༻ٕज़γϯϙδϜ2017จूɼ2017ɼ89-97ʢ2017-11-30ʣ,
201712݄. ← ͜͜Λߋʹਂ۷Γ 0SDIFTUSBUJPO-BZFS (,& &$4 .BSBUIPO ,VCFSOFUFT %PDLFS4XBSN 4USBUFHZ-BZFS 3BODIFS 'BTU$POUBJOFS 4FSWJDF-BZFS 8FC"QQMJDBUJPOPS4FSWJDFPO$POUBJOFST *OGSBTUSVDUVSF-BZFS ($1 "[VSF "84 0QFO4UBDL .FTPT #BSF.FUBM -JOVY,JU $POUBJOFS3VOUJNF-BZFS %PDLFS DPOUBJOFSE -9$ )BDPOJXB H7JTPS ,BUB$POUBJOFST $POUBJOFS3VOUJNF*OUFSGBDF $3* -
20 ίϯςφϥϯλΠϜͷϨΠϠʔϞσϧԽ CRI ίϯςφϥϯλΠϜ ϥϯλΠϜ ্هͷΑ͏ʹఆٛ͞ΕΔ͜ͱ͕ଟ͍͕ɺ ίϯςφϥϯλΠϜͷதʹruncͳͲͷ ϥϯλΠϜ͕͋Δͱ͍͏ͷগ͠Θ͔ Γʹ͍͘ɻ CRI
CRIϥϯλΠϜ OCI OCIϥϯλΠϜ ίϯςφϥϯλΠϜ ΛϥϯλΠϜͷׂ ͰϨΠϠʔϞσϧԽ CRIϥϯλΠϜͱOCIϥϯλΠϜͱఆٛ※1ɻ͜ͷ2ͭ ͷϥϯλΠϜΛ·ͱΊͯίϯςφϥϯλΠϜͱ͢Δɻ CRI : Container Runtime Interface OCI: Open Container Initiative Runtime/Image 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 -
21 ίϯςφपลͷجຊϨΠϠʔϞσϧ ΦʔέετϨʔγϣϯ CRI CRIϥϯλΠϜ OCI OCIϥϯλΠϜ Podͱίϯςφ܈ CRIܦ༝ͰΦʔέετϨʔγϣϯʹجͮ ͖ίϯςφߏใΛड͚औͬͨΓίϯ
ςφΠϝʔδΛཧ͢ΔCRIϥϯλΠϜ ʢcri-oɺcontainerdͳͲʣ ίϯςφͷߏใΠϝʔδͳͲ͔Β ίϯςφͷϦιʔεׂݖݶΛߦͬ ͯίϯςφΛىಈͤ͞ΔOCIϥϯλΠϜ ʢrunCɺrunscɺrunncɺrunVɺkata- runtimeɺcc-runtimeͳͲʣ -
22 ྫɿίϯςφपลͷجຊϨΠϠʔϞσϧ kubelet CRI containerd OCI runC Podͱίϯςφ܈ ίϯςφͷߏใΠϝʔδͳͲ͔Β ίϯςφͷϦιʔεׂݖݶΛߦͬ
ͯίϯςφΛىಈͤ͞ΔOCIϥϯλΠϜ ʢrunCɺrunscɺrunncɺrunVɺkata- runtimeɺcc-runtimeͳͲʣ CRIͱOCIʹ४ڌ͍ͯ͠Εɺ ΦʔέετϨʔγϣϯ kubernetesΛ͍ͭͭɺ͖ʹ CRIϥϯλΠϜOCIϥϯλΠϜ Λஔ͖͑Մೳ CRIܦ༝ͰΦʔέετϨʔγϣϯʹجͮ ͖ίϯςφߏใΛड͚औͬͨΓίϯ ςφΠϝʔδΛཧ͢ΔCRIϥϯλΠϜ ʢcri-oɺcontainerdͳͲʣ -
23 OCIϥϯλΠϜʹ͓͚ΔPodͱίϯςφ • kubernetesΦʔέετϨʔγϣϯπʔϧͱͯ͠CNCFʹΑΔඪ४Խ͕ਐΉ • ૬ޓʹଓੑͷ͋ΔෳͷίϯςφΛแׅ͢ΔPod • Podͱ͍͏ۭؒ୯ҐͰίϯςφΛͲͷΑ͏ʹσϓϩΠ͢Δ͔ • PodʹٻΊΒΕΔཁ݅
• ηΩϡϦςΟɾੑೳɾαʔόͷऩ༰ޮͳͲ • Podίϯςφͷ࣮ࡍతͳಈ࡞Λ࣮ݱ͢ΔͷOCIϥϯλΠϜ -
25 OCIίϯςφϥϯλΠϜͷαʔϕΠͱ࣮ݧ • runCɼgVisorɼNabla-ContainersɼFirecrackerɼKata-Containersͷݱঢ়ௐࠪ • Hello Worldͱloop͢ΔDockerΠϝʔδΛ࡞ • ֤छOCIίϯςφϥϯλΠϜͰHello World(Cݴޠ)Λ࣮ߦ
• TimeίϚϯυͰPodىಈ+ίϯςφىಈ+Hello worldͷ࣮ߦ࣌ؒΛܭଌ • loopίϯςφΛىಈͤͯ͞ϝϞϦαΠζʢRSSʣΛܭଌ • ࣮ݧϗετɿEC2 i3.metal Πϯελϯε, 72 vCPUsɼ512 GB ϝϞϦ -
26 OCIίϯςφϥϯλΠϜίϚϯυͷ࣮ߦ time sudo runc run bundle time sudo runsc
-log /dev/null run bundle time sudo kata-runtime run bundle cid=`sudo docker create mizzy/hello:latest` mkdir -p bundle/rootfs sudo docker export $cid | tar -C bundle/rootfs -xvf - -
ϝοηʔδ ηΩϡϦςΟ ࣮ྫ helloworldੑೳ (Pod+ίϯςφىಈ) ऩ༰ޮ (1ίϯςφ͋ͨΓͷϝϞ ϦͷϑοτϓϦϯτ) ϓϩηεܕ ωʔϜεϖʔεͷִ
runC 0.159 s runc: 10216 KB ߹ܭ 10 MB αϯυϘοΫεܕ ϢʔβϥϯυΧʔωϧ γεςϜίʔϧΞΫηε੍ޚ gVisor(runsc) 0.197 s runsc: 117748 KB runsc-gopher: 13028 KB runsc-sandbox: 18404 KB ߹ܭ 150 MB ϢχΧʔωϧܕ ϢχΧʔωϧ (ઐ༻appΠϝʔδͱ࠷ݶͷγ εςϜίʔϧ੍ݶ) Nabla-Containers(runnc) runncͷ༷͕ίϯςφ࣮ߦ ྃΛͨͳ͍ͨΊະܭଌ runncͷ༷͕ίϯςφ࣮ߦ ྃΛͨͳ͍ͨΊະܭଌ microVMܕ microVM (virtio-net,virtio-blockɼserial console, a 1-button key-board controller) Firecracker runc૬ͷίϚϯυͱݱ࣌Ͱ ࿈ܞͰ͖ͳ͍ͨΊະܭଌ runc૬ͷίϚϯυͱݱ࣌Ͱ ࿈ܞͰ͖ͳ͍ͨΊະܭଌ VMܕ VM Kata-Containers 1.392 s kata-runtime: 28424 KB qemu-lite-system-x86_64: 222208 KB kata-proxy: 6884 KB kata-shim: 19124 KB ߹ܭ 280 MB -
29 containerdΛܦ༝࣮ͨ͠ߦ time sudo ctr run \ --rm --runtime io.containerd.runc.v1
\ docker.io/mizzy/hello:latest \ foo /hellotime sudo ctr run \ --rm \ --runtime io.containerd.runsc.v1 docker.io/mizzy/hello:latest ba /hello time sudo ctr run \ --rm \ --runtime io.containerd.kata.v2 \ docker.io/mizzy/hello:latest baz /hello time sudo ctr run \ --rm \ --runtime io.containerd.runtime.v1.linux \ docker.io/mizzy/hello:latest foo /hello time sudo ctr run \ --rm \ --snapshotter firecracker-naive \ --runtime aws.firecracker \ docker.io/mizzy/hello:latest foo /hello -
ϝοηʔδ ηΩϡϦςΟ ࣮ྫ helloworldੑೳ (Pod+ίϯςφىಈ) ऩ༰ޮ (1ίϯςφ͋ͨΓͷϝϞϦͷ ϑοτϓϦϯτ) ϓϩηεܕ ωʔϜεϖʔεͷִ
runC 0.361 s ctr: 26592 KB ߹ܭ 26 MB αϯυϘοΫεܕ ϢʔβϥϯυΧʔωϧ γεςϜίʔϧΞΫηε੍ޚ gVisor(runsc) 0.422 s ctr: 26600 KB runsc: 12296 KB containerd-shim-runsc-v1: 6908 KB runsc-gopher: 12296 KB runsc-sandbox: 18124 KB ߹ܭ 75 MB ϢχΧʔωϧܕ ϢχΧʔωϧ (ઐ༻appΠϝʔδͱ࠷ݶͷ γεςϜίʔϧ੍ݶ) Nabla-Containers(runnc) containerd shim API v2ʹରԠ͠ ͍ͯͳ͍ͨΊܭଌෆՄ containerd shim API v2ʹରԠ͍ͯ͠ ͳ͍ͨΊܭଌෆՄ microVMܕ microVM (virtio-net,virtio-blockɼ serial console, a 1-button key-board controller) Firecracker (naive snapshotter) 8.117 s ctr: 26120 KB containerd-shim-aws-firecracker: 13748 KB firecracker: 59152 KB ߹ܭ 100 MB (native_snapshotter: 11400 KB) VMܕ VM Kata-Containers 1.570 s ctr: 26572 KB containerd-shim-kata-v2 : 19780 KB qemu-lite-system-x86_64: 195864 KB ߹ܭ 241 MB -
32 dockerdΛܦ༝࣮ͨ͠ߦ time sudo docker run --rm mizzy/hello:latest /hello time
sudo docker run --rm --runtime=runsc mizzy/ hello:latest /hello time sudo docker run --rm --runtime=kata-runtime mizzy/ hello:latest /hello time sudo docker run --rm --runtime=runnc mizzy/ hello:latest /hello.nabla time sudo docker run --rm --runtime=kata-fc mizzy/ hello:latest /hello -
ϝοηʔδ ηΩϡϦςΟ ࣮ྫ helloworldੑೳ (Pod+ίϯςφىಈ) ऩ༰ޮ (1ίϯςφ͋ͨΓͷϝϞϦͷ ϑοτϓϦϯτ) ϓϩηεܕ ωʔϜεϖʔεͷִ
runC 0.847 s docker: 50356 KB containerd-shim: 6124 KB ߹ܭ 56 MB αϯυϘοΫεܕ ϢʔβϥϯυΧʔωϧ γεςϜίʔϧΞΫηε੍ޚ gVisor(runsc) 1.034 s docker: 50532 KB cintainerd-shim: 5812 KB runsc-gopher: 12296 KB runsc-sandbox: 18124 KB ߹ܭ 85 MB ϢχΧʔωϧܕ ϢχΧʔωϧ (ઐ༻appΠϝʔδͱ࠷ݶͷ γεςϜίʔϧ੍ݶ) Nabla-Containers(runnc) 0.897 s docker: 50720 KB containerd-shim: 5512 KB nabla-run: 6684 KB ߹ܭ 62 MB microVMܕ microVM (virtio-net,virtio-blockɼ serial console, a 1-button key-board controller) Firecracker (devmapper snapshotter) (Kata plugin) 3.889 s docker: 1170808 KB docker-containerd-shim: 9960 KB kata-shim: 455664 KB firecracker: 145952 KB ߹ܭ 1700 MB VMܕ VM Kata-Containers 2.415 s docker: 51056 KB containerd-shim: 6060 KB qemu-lite-system-x86_64: 227316 KB kata-proxy: 6132 KB kata-shim: 19536 KB ߹ܭ 310 MB -
35 Pod͓Αͼίϯςφͷىಈ࣌ؒͱAppੑೳ • VMMicroVMΞϓϩʔνPodىಈʹ͕͔͔࣌ؒΔ • Pod͕ىಈͯ͠͠·͑AppͷΞΫηε੍ޚݫີͰͳ͍ • ίϯςφ্ͷWebAppൺֱతੑೳ͕ߴ͘ͳΔ • αϯυϘοΫϢχΧʔωϧͷΞϓϩʔνPodىಈ͍
• AppͷγεςϜίʔϧϑΝΠϧΞΫηεΛࢹ͠ݫີʹΞΫηε੍ޚ • ίϯςφ্ͷWebAppൺֱతੑೳ͕͘ͳΔ → ίϯςφͰಈ࡞͢ΔΞϓϦέʔγϣϯͷੑೳΛࠓޙܭଌ͍ͯ͘͠༧ఆ -
36 ݸମܕσʔληϯλʔʹ͓͚Δίϯςφ • ඞཁͳͱ͖ཁ݅ʹ߹ΘͤͯదͳOCIϥϯλΠϜͰىಈ • OSʹ͓͚ΔϓϩηεεϨουͷ͍ํͱಉ༷ • ίϯςφىಈͱىಈޙͷΞϓϦέʔγϣϯͷτϨʔυΦϑΛٞ • ֎తͳΞΫηε༧ଌͰ͖ͳ͍มԽʹϦΞΫςΟϒʹରԠͤ͞Δ
• ϓϩηεεϨουؒͷ࿈ܞʹ͓͍ͯϗετಁաతʹॲཧ͢Δ • ߴʹίϯςφͷঢ়ଶΛมԽͤͨ͞ΓҠಈ͢Δݚڀ͕ඞཁ[1] [1] দຊ྄հɾ௶༎थɾٶԼ߶ี, CRIUΛར༻ͨ͠HTTPϦΫΤετ୯ҐͰίϯςφΛ࠶ஔͰ͖ΔίετͰߴͳεέ δϡʔϦϯάख๏, IOT44, 20193݄. -
38 ݸମܕσʔληϯλʔOSΛࢦͯ͠ • ݸମܕσʔληϯλʔͷίϯηϓτΛհ • σʔληϯλʔػೳ͕ࣾձʹ༹͚ࠐΈͳ͕ΒΫϥυͷϚγϯύϫʔΛ׆༻ • ۩ମతͳϏδϣϯΛհ • σʔληϯλʔͱίϯςφͷεέδϡʔϦϯάͷ؍Ͱٞ
• ϦΞΫςΟϒʹঢ়ଶΛมߋՄೳʹ͢Δॏཁੑʹ͍ͭͯݕ౼ • ֤ࣾͷίϯςφͷOCIϥϯλΠϜ࣮ͷհͱݱঢ়ͷ࣮ݧతධՁ • ίϯςφΛεϨουϓϩηεͱݟཱͯͨ߹ͷྨΛཧ -
39 ࠓޙͷ՝ͱݕ౼ • OCIϥϯλΠϜͷྨʹ͓͍ͯߋʹߟ • ͬͱదͳPodͱίϯςφͷ͋Γํ͕ͳ͍͔ • ूੵɾੑೳɾηΩϡϦςΟɾ͍͢͞ͷόϥϯεΛ͞Βʹݕ౼͢Δ • PodͷىಈͷͱίϯςφͷΞΫηε੍ޚͷੑೳͷόϥϯεΛٞ
• ߴʹࢄ͞ΕͨίϯςφͷใΛཧ͢ΔΈͷઃܭͱ࣮ • pstopίϚϯυͷΑ͏ͳͷ͔ΒΑΓߴͳπʔϧ·Ͱ • ϓϩηεεϨουͷѻ͍Λศརʹ͢Δ֓೦ͳͲͷݕ౼