Slide 1

Slide 1 text

)BDPOJXBΛ௨ͯ͡ோΊͯΈΔ ۙ౻͏͓ͪ(.01FQBCP *OD ೔ຊ044ਪਐϑΥʔϥϜओ࠵ୈճΞϓϦέʔγϣϯ෦ձษڧձ ίϯςφͷ࢓૊ΈͱΤίγεςϜ

Slide 2

Slide 2 text

ΤϯδχΞ ۙ౻͏͓ͪ!VE[VSB (.0ϖύϘٕज़෦ٕज़ج൫νʔϜ IUUQIBDPOJXBNSVCZPSH

Slide 3

Slide 3 text

!VE[VSBུྺ &$αΠτɺιʔγϟϧήʔϜͷ։ൃͳͲΛܦͯɺ
 ೥ΑΓ(.0ϖύϘٕज़ج൫νʔϜɺ
 ಉ೥෱ԬʹҠॅɻ޷͖ͳΧϨʔ͸5JLJɻ ஶॻʹʰύʔϑΣΫτ3VCZPO3BJMTʱ΄͔ɻ 3VCZ,BJHJʹࣗ࡞ίϯςφϥϯλΠϜ
 ʮ)BDPOJXBʯͷ࿩͕࠾୒͞ΕΔɻ ΄͔ɺ3VCZ΍ίϯςφʹؔ͢Δ׆ಈଟ਺ɻ

Slide 4

Slide 4 text

෱Ԭ3VCZձٞ! IUUQSFHJPOBMSVCZLBJHJPSHGVLVPLB ҰൠνέοτDPNJOHTPPO

Slide 5

Slide 5 text

ϋογϡλά IBDPOJXBSC

Slide 6

Slide 6 text

ࠓ೔ͷΰʔϧ

Slide 7

Slide 7 text

ίϯςφͷҰาઌͷཧղΛ wʮͨͩ࢖͏ʯ͚ͩͰ͸ͳ͍ɺίϯςφͷຊ࣭తͳͱ͜ΖΛ͔ͭΉɻ wίϯςφͷར༻γʔϯʹؔ͢Δ༷ʑͳϥϯλΠϜɺιϑτ΢ΣΞɺ
 ϛυϧ΢ΣΞɺن֨ͳͲΛ੔ཧ͢Δɻ w͔ͬ͠Γͱͨ͠جૅ஌ࣝΛ͚ͭͯɺʮ࢖ΘΕΔʯͰ͸ͳ͘ʮ࢖͏ʯͨ Ίʹίϯςφʹ৮ΕΒΕΔΑ͏ʹͳΓ·͠ΐ͏ʂ

Slide 8

Slide 8 text

ίϯςφͷҰาઌͷཧղΛ wʮͨͩ࢖͏ʯ͚ͩͰ͸ͳ͍ɺίϯςφͷຊ࣭తͳͱ͜ΖΛ͔ͭΉɻ wίϯςφͷར༻γʔϯʹؔ͢Δ༷ʑͳϥϯλΠϜɺιϑτ΢ΣΞɺ
 ϛυϧ΢ΣΞɺن֨ͳͲΛ੔ཧ͢Δɻ w͔ͬ͠Γͱͨ͠جૅ஌ࣝΛ͚ͭͯɺʮ࢖ΘΕΔʯͰ͸ͳ͘ʮ࢖͏ʯͨ Ίʹίϯςφʹ৮ΕΒΕΔΑ͏ʹͳΓ·͠ΐ͏ʂ Ұॹʹษڧ͠·͠ΐ͏

Slide 9

Slide 9 text

)BDPOJXBͷ঺հ

Slide 10

Slide 10 text

)BDPOJXB

Slide 11

Slide 11 text

)BDPOJXBͱ͸ɻ w-JOVYίϯςφϥϯλΠϜͷҰͭɻ w1BB4αʔϏεͰͷίϯςφར༻ͷܦݧΛ΋ͱʹ։ൃ͞Εͨ wಛ௃ wNSVCZʹΑΓ։ൃ͞Ε͍ͯΔ w%4-ʹΑΓίϯςφͷઃఆ͕هड़Ͱ͖Δ w͞Βʹɺ༷ʑͳϑοΫΛϓϩάϥϛϯάͰ੍ޚՄೳͰ͋Δ

Slide 12

Slide 12 text

-JOVYίϯςφϥϯλΠϜͱ͸ʁ w0$*ʢޙड़ʣͷఆٛΛഈआ wʮઃఆΛಡΈࠐΈɺίϯςφϓϩηεΛ࡞੒͠ɺఀࢭɺ࡟আͳͲ༷ʑ ͳΞΫγϣϯΛߦ͏࣮૷ʯ w(MPTTBSZΑΓ wIUUQTHJUIVCDPNPQFODPOUBJOFSTSVOUJNFTQFDCMPC NBTUFSHMPTTBSZNESVOUJNF

Slide 13

Slide 13 text

l*USFBETUIFDPOpHVSBUJPOpMFTGSPNB CVOEMF VTFTUIBUJOGPSNBUJPOUPDSFBUF BDPOUBJOFS MBVODIFTBQSPDFTTJOTJEF UIFDPOUBJOFS BOEQFSGPSNTPUIFS MJGFDZDMFBDUJPOTz IUUQTHJUIVCDPNPQFODPOUBJOFSTSVOUJNFTQFD

Slide 14

Slide 14 text

NSVCZͱ͸ʁ wF.CFEEFE3VCZ w͍ΘΏΔ૊ΈࠐΈػث޲͚ͷ3VCZͱͯ͠։ൃ͞Εͨʮܰྔʯ3VCZ wͦͷ݁ՌɺόΠϯσΟϯά͕ඇৗʹॻ͖΍͘͢ɺϛυϧ΢ΣΞͳͲʹ ΋૊ΈࠐΈ͕༰қͰ͋Δͱ͍͏ಛੑ͕͋Δɻ wݱࡏ"QBDIF)551%ɺ/HJOYͦͷଞͷʮ$POpHVSBUJPOBT$PEFʯ ͷ༻్ʹ΋޿·ΓΛݟ͍ͤͯΔ wDG-VB

Slide 15

Slide 15 text

FHOHY@NSVCZ wIUUQOHYNSVCZPSH w͜Ε͚ͩͷίʔυͰɺಈతͳϦόʔεϓϩΩγʹɻ

Slide 16

Slide 16 text

%4-ͱ͸ʁʁ w%4-%PNBJO4QFDJpD-BOHVBHFɺ͋Δ໨తʹಛԽͨ͠ݴޠ w)BDPOJXBͰ͸ɺ3VCZΛίϯςφ੍ޚͷͨΊͷ%4-ͱͯ͠࢖͑Δɻ w%4-Λܦ༝ͯ͠ wίϯςφͷઃఆΛಈతʹܾఆ w༷ʑͳϑοΫʢϥΠϑαΠΫϧɺλΠϜΞ΢τɺγάφϧϋϯυϥɺ ఆظ࣮ߦʣΛهड़

Slide 17

Slide 17 text

ίϯςφͷઃఆͷಈత੍ޚ wίϯςφͷߏ੒ཁૉ͸ͦ΋ͦ΋ಈతʹ૊Έ߹Θ͕ͤՄೳͰ͋Δɻ
 ʢߏ੒ཁૉ͸ޙड़ʣͳͷͰɺίʔυͰܾఆͰ͖ΔͱศརͰ͋Δɻ Haconiwa.define do |c| #... client = Redis.new "127.0.0.1", 6379, 2 data = JSON.parse(client.get(ENV[‘CONTAINER_ID’])) c.cgroup :v1 do |cg| cg[‘cpu.cfs_period_us’] = data[‘period’] cg[‘cpu.cfs_quota_us’] = data[‘quota’] end end ྫ͑͹ɺىಈ࣌ʹ3FEJT͔Β ίϯςφͷ৘ใΛͱ͖ͬͯͯ ಈతʹ$16ׂ౰ͷઃఆ͕Մೳ

Slide 18

Slide 18 text

ϑοΫͷϓϩάϥϛϯά wίϯςφىಈఀࢭ౳ϥΠϑαΠΫϧʹԠͨ͡ॲཧ w·ͨɺγάφϧϋϯυϥɺίϯςφ͕ىಈͨ͠Ұఆ࣌ؒޙʹಛఆͷॲ ཧΛ૸ΒͤΔʢλΠϜΞ΢τʣɺఆظ࣮ߦ͢ΔॲཧΛهड़Մೳ Haconiwa.define do |c| #... c.add_handler :TTOU do |b, _| cpu = ::Cgroup::CPU.new(b.name) cpu.cfs_quota_us = cpu.cfs_quota_us + 10000 cpu.modify end end 4*(5506Λ εʔύόΠβʔʹૹΔͱ $16ׂ࣌ؒ౰Λ্͛Δ

Slide 19

Slide 19 text

ϑοΫʹΑΔ ίϯςφࣗମͷϥΠϑαΠΫϧ

Slide 20

Slide 20 text

ϥΠϑαΠΫϧͷ੍ޚ wίϯςφ͕ɺࣗ෼͕ੜ·Εɺͦͯ͠ऴྃ͢ΔαΠΫϧΛࣗ෼Ͱ
 ੍ޚՄೳͳੈքΛߟ͑Δ w)BDPOJXBʹ͓͍ͯ͸ɺҰఆ͕࣌ؒܦաͨ͠Βࣗ෼ࣗ਎ʹ4*(5&3. ΛૹΔ͜ͱͰɺϥΠϑαΠΫϧͷ͋ΔίϯςφΛ࣮ݱͰ͖Δ c.add_async_hook min: 30 do |b| # b.pid = ίϯςφͷPID=1 ::Process.kill :TERM, b.pid end ෼Ͱ ࣗ෼ʹ4*(5&3.ΛૹΔ

Slide 21

Slide 21 text

'BTU$POUBJOFSΞʔΩςΫνϟ΁ wϖύݚদຊࢯఏҊͷ'BTU$POUBJOFSΞʔΩςΫνϟ w'BTU$(*Λώϯτʹͨ͠ίϯςφ؅ཧετϥςδ wϓϩηεΛͭʹ෼ྨʢ*NNPSUBM.PSUBM4IPSU-JWFEʣ wʮϦΞΫςΟϒʹ্ཱ͕ͪΓɺҰఆظؒॲཧΛଓ͚Δʯ
 ίϯςφΛఆٛɾ࡞੒͢Δ wؔ࿈ൃද΋͝ࢀর ʮίϯςφ࣌୅ͷ8FCαʔϏεج൫Ϟσϧ'BTU$POUBJOFSͷݚڀൃදΛ͖ͯ͠·ͨ͠ʯ
 IUUQTSBOEQFQBCPDPNBSUJDMFJPUNBUTVNPUPSZ

Slide 22

Slide 22 text

ίϯςφϥϯλΠϜͷൺֱ

Slide 23

Slide 23 text

"1*ͷެ։ํ਑ w%PDLFS ଞ0$*΂ʔεͷ΋ͷ ɺ-9%͸)551ϕʔεͰ͋Δ w-9$͸ɺ$ͷΠϯλϑΣʔε͕͋ΔʢMJCMYDʣɻ͔͜͠͠ͷϥΠϒϥϦ ࣗମ͸ίϯςφઃఆΛ͍͡ΔͨΊͷ"1*Λ࣋ͨͳ͍ɻ w)BDPOJXB͸3VCZͷΠϯλʔϑΣʔε͕͋ΓɺϓϩάϥϜͰ͖Δɻ
 ઃఆ΋ϑοΫ΋"1*Λ༻ҙ͓ͯ͠Γɺૢ࡞Մೳ wMJCIBDPOJXBతͳ΋ͷ͸ݕ౼͍ͯ͠Δஈ֊

Slide 24

Slide 24 text

ϑοΫͷ࣮ݱܗࣜ w%PDLFS ଞ0$*΂ʔεͷ΋ͷ ͸ϥΠϑαΠΫϧ"1*ͷ؂ࢹͱ͍͏ܗͰ ࣮ݱ͢Δܗʹͳ͍ͬͯΔɻผ్؂ࢹˠϑοΫͷ࣮૷͕ඞཁɻ w-9$͸ઃఆʹϥΠϑαΠΫϧϑοΫ͕͋Δ wˠίϚϯυܗࣜͰɺҾ਺ͷࢦఆ w)BDPOJXB͸"1* %4-ͷ࢓༷ ࣗମʹ֤छϑοΫ͕࣮૷͞Ε͓ͯΓɺ 3VCZͰ֤ॲཧΛهड़Մೳɻઃఆ΋ϑοΫ΋ಉ͡ݴޠͰɻ IUUQTMJOVYDPOUBJOFSTPSHKBMYDNBOQBHFTNBOMYDDPOUBJOFSDPOGIUNMMC#$

Slide 25

Slide 25 text

ϑοΫͷछྨ w%PDLFSɺ-9$ʹ͸ϥΠϑαΠΫϧϑοΫͷΈͷαϙʔτ w)BDPOJXB͸ϥΠϑαΠΫϧͷଞɺҎԼ΋αϙʔτ wλΠϜΞ΢τϑοΫ wఆظ࣮ߦϑοΫ wγάφϧϋϯυϥ wʢλΠϜΞ΢τఆظ࣮ߦʹΑΓ'BTU$POUBJOFS͕࣮ݱ͠΍͍͢໘ʣ

Slide 26

Slide 26 text

Πϝʔδͱͷ࿈ܞ w%PDLFS͸%PDLFSIVC͔Βམͱ͔͢ɺ0$*ޓ׵ͷUBSΛར༻ w-9$͸ࣗ෼ͷΤίγεςϜʹMYDUFNQMBUFTΛ͍࣋ͬͯΔ wDG3BJMDBS
 ಠࣗͷNJDSPDPOUBJOFSTܗࣜɺπʔϧ PSBDMFTNJUI Λఏএ͍ͯ͠Δ w)BDPOJXB͸%4-ͰΠϝʔδ࡞੒΋αϙʔτ͢Δ wEFCPPUTUSBQMYDUBNQMBUFTͷྲྀ༻ɺHJUSFQPͷνΣοΫΞ΢τɺ
 UBSͰݻΊͨSPPUGTͳͲʢ0$*ޓ׵Πϝʔδͷαϙʔτ΋ೖΕ͍ͨʣ

Slide 27

Slide 27 text

·ͱΊɿද هड़ݴޠ ίϯςφઃఆ "1* ϑοΫ࣮૷ ϑοΫͷछྨ Πϝʔδઓུ %PDLFS SVOD (PMBOH %PDLFSpMF ίϚϯυϥΠϯ )551"1* ϥΠϑαΠΫϧ
 ؂ࢹ ϥΠϑλΠϜ %PDLFSIVC
 0$*४ڌ -9$ $ JOJpMF MJCMYD ϑοΫઃఆ߲໨ ϥΠϑλΠϜ MYDUFNQMBUF -9% (PMBOH 1SPpMF )551"1* 3BJM$BS 3VTU 0$*४ڌ
 KTPO 0$*४ڌ KTPO ະαϙʔτ 0$*४ڌ NJDSPDPOUBJOFST )BDPOJXB NSVCZ $ 3VCZ%4- 3VCZ%4- 3VCZ%4- ϥΠϑλΠϜ 
 λΠϜΞ΢τଞछ MYDUFNQMBUF
 ྲྀ༻ଞ

Slide 28

Slide 28 text

)BDPOJXBͷ໨ࢦ͢ੈք

Slide 29

Slide 29 text

%PDLFS0$*ͳͲͷํ޲ੑ w͜͜·ͰͷൺֱͰɺ%PDLFSͳͲͱ)BDPOJXBͷҧ͍Λྻڍͨ͠ wݸਓతʹɺ%PDLFSͷ໨ࢦ͢ํ޲͸ʮ7.ͷ࠶ൃ໌ʯతʹࢥ͑Δ wϢʔβʔ͔ΒɺʮԾ૝؀ڥʯͷৄࡉ͸Ӆ͞Ε͍ͯͯɺ
 ܾ·ͬͨ"1*Λܦ༝ͯ͠σϓϩΠɾΦʔέετϨʔγϣϯΛߦ͏ wDG,VCFSOFUFT#PSHʢ͜Ε΋ޙड़ʣ wͦ͏͍͏ந৅Խࣗମ͸ɺҰͭͷํ޲ੑͰ͸͋Δ

Slide 30

Slide 30 text

$POUBJOFS&DPTZTUFNBT$PEF w)BDPOJXBͱɺͦͷपลͰ໨ࢦ͍ͨ͠ͱ͜Ζ wجຊతͳϦιʔεׂ౰΍ݖݶ෼཭ͳͲͷઃఆ͸ίʔυԽͰ͖Δ w·ͨɺଞͷϥϯλΠϜͱൺ΂ͯ΋๛෋ͳϑοΫΛ༻ҙ͠ɺίϯςφͷ ৼΔ෣͍ɾϥΠϑαΠΫϧΛίʔυԽͰ͖Δ w͔͜͜ΒɺίʔυԽͷൣғΛ޿Ί͍͖͍ͯͨɻ
 ྫ͑͹ωοτϫʔΫ૚΍ɺϑΝΠϧγεςϜؔ܎ɺ04ͷηΩϡϦςΟɾ ؂ࠪͷ࢓૊Έʢ-JOVYͷ-4.ʣͳͲ΋ίʔυԽͷൣғʹͰ͖ͳ͍͔ʁ

Slide 31

Slide 31 text

ίϯςφΤίγεςϜʹ
 ίʔυͰ౿ΈࠐΉೖΓޱʹͳΔ

Slide 32

Slide 32 text

͜ΕΒΛ౿·͑ͯ ίϯςφͷੈքΛπΞʔ͠·͠ΐ͏

Slide 33

Slide 33 text

վΊͯ ίϯςφͱ͸Կ͔

Slide 34

Slide 34 text

ίϯςφ͸ొ৔ਓ෺͕ଟ͗͢Δ w-JOVYΧʔωϧࣗମɺγεςϜίʔϧ w֤छίϯςφϥϯλΠϜ wΦʔέετϨʔγϣϯπʔϧ܈ wΫϥ΢υαʔϏεͦͷଞ wͳͲͳͲ wˠશମ؍Λࣔͭͭ͠ɺ੔ཧ͠·͢

Slide 35

Slide 35 text

ίϯςφ͸ొ৔ਓ෺͕ଟ͗͢Δ w-JOVYΧʔωϧࣗମɺγεςϜίʔϧ w֤छίϯςφϥϯλΠϜ wΦʔέετϨʔγϣϯπʔϧ܈ wΫϥ΢υαʔϏεͦͷଞ wͳͲͳͲ wˠશମ؍Λࣔͭͭ͠ɺ੔ཧ͠·͢ ·ͣ͸ ͜͜Λԡ͑͞Δ

Slide 36

Slide 36 text

Ծ૝Խͱ͸ʁ wྫϋΠύʔόΠβܕʢωΠςΟϒϋΠύʔόΠβʣ wઐ༻ͷ04΍ɺ-JOVY,FSOFMࣗମΛϋΠύʔόΠβͱͯ͠࢖͍ɺͦͷ ্Ͱ04Λ૸ΒͤΔ wྫϗετ04ܕʢϗετϋΠύʔόΠβʣ w൚༻తͳ04ͷ্ʹɺ7JSUVBM#PYͷΑ͏ͳԾ૝ԽͷͨΊͷઐ༻ιϑτ ΢ΣΞΛೖΕͯ૸ΒͤΔ wίϯςφܕˠ

Slide 37

Slide 37 text

ʮίϯςφԾ૝Խʯ w͍ΘΏΔ,7.΍9FO΍7.XBSFW4QIFSF΍7JSUVBM#PYͷར༻ͱɺ wίϯςφʹΑΔʮԾ૝Խʯ͸ɺҰઢΛը͍ͯ͠Δ wϋʔυ΢ΣΞΛԾ૝Խ͢ΔΘ͚Ͱ͸ͳ͍ wΧʔωϧΛબ΂ΔΘ͚Ͱ͸ͳ͍ wͰ͸ɺͲ͏΍ͬͯಠཱͨ͠؀ڥΛ࡞͍ͬͯΔʁ

Slide 38

Slide 38 text

ίϯςφ͸
 ϓϩηεͰ͋Δ

Slide 39

Slide 39 text

ίϯςφ͸
 ʮʓʓʯ
 ͨ͠ϓϩηεͰ͋Δ

Slide 40

Slide 40 text

ϓϩηεΛ ίϯςφʹ͢Δ

Slide 41

Slide 41 text

04ϦιʔεΛϗετ͔Β෼཭͢Δ wϧʔτϑΝΠϧγεςϜʢSPPUGTʣͷಠཱԽ wDISPPU ͱ͍͏ίϚϯυΛ༻͍ͯɺ͋ΔαϒπϦʔʹ࡞ͬͨϑΝΠ ϧπϦʔʹೖΓࠐΉ͜ͱ͕Ͱ͖Δɻ wCJOENPVOUΛ༻͍ͯɺ
 ͦͷSPPUGTΛ͍͔ͭ͘ͷ֎෦ͷ
 σΟϨΫτϦͰߏஙՄೳ wΑΓ৚݅͸ݫ͍͕͠ɺ҆શʹͳΔQJWPU@SPPU Λ࢖͏͜ͱ΋͋Δ IUUQTXXXBRVJDLMPPLBUDPNMJOVYMJOVYEFWFMPQFSDISPPU

Slide 42

Slide 42 text

04ϦιʔεΛϗετ͔Β෼཭͢Δ w-JOVYOBNFTQBDF wϗετͱಠཱͨ͠04ͱͯ͠ͷϦιʔεΛ࣋ͨͤΔ͜ͱ͕Ͱ͖Δɻ
 ྫ͑͹ɿ wϗετ໊ w*1$ͷϦιʔε wωοτϫʔΫ IUUQTTQFBLFSEFDLDPNVE[VSBDSFBUJOHDPOUBJOFSTXJUIHPMBOH

Slide 43

Slide 43 text

ྫωοτϫʔΫ໊લۭؒ FUI EPDLFS WFUIIPTU WFUIHVFTU WFUIIPTU WFUIHVFTU WFUIIPTU WFUIHVFTU FH FH ඞཁʹԠ͡/"5ͳͲ /FUXPSL/BNFTQBDFʹΑΓɺ ίϯςφϓϩηε͕ϗετͱ͸ผͷ/*$*1ΛೝࣝͰ͖Δ ͻͱͭͷ)PTU CSJEHF

Slide 44

Slide 44 text

04ϦιʔεΛ੍ݶ͢Δ wDHSPVQ $POUSPM(SPVQ wϓϩηεʢεϨουΛؚΉ৔߹΋͋ΔʣΛάϧʔϐϯάͯ͠ɺͦͷ୯ ҐͰϦιʔεͷར༻ঢ়گͳͲΛ੍ݶɺ͋Δ͍͸౷ܭ৘ใΛऔಘͰ͖Δ wDGVMJNJU SMJNJUϓϩηεʢࢠؚΉʣ୯Ґ w੍ݶͰ͖Δ΋ͷ$16ɺϝϞϦɺ*0ɺϓϩηε਺ͳͲ

Slide 45

Slide 45 text

ίϯςφͷϓϩηε਺Λ੍ݶ͢Δྫ w·ͨ͸GPSLCPNCରࡦ wEPDLFSͳΒ--pids-limitͰར༻ग़དྷΔ

Slide 46

Slide 46 text

ݖݶΛ੍ݶ͠ɺηΩϡΞʹ͢Δ w-JOVYΧʔωϧʹ͸͍͔ͭ͘ɺͦ͏͍͏࢓૊Έ͕ଘࡏ͠ɺͦΕΒ͕૊ Έ߹Θ͍ͬͯ͞Δɻ wSPPUͷݖݶΛ෼ׂ͠ɺҰ෦ͷΈΛ౉͢ʢ-JOVYDBQBCJMJUZʣ wγεςϜίʔϧͷݺͼग़͠ΛϑΟϧλʔ͢ΔʢTFDDPNQʣ wڧ੍ΞΫηε੍ޚʢ."$FH4&-JOVYɺ"QQ"SNPSʣ

Slide 47

Slide 47 text

':*εΠενʔζϞσϧ wҰͭҰͭʹ͕ۭ͍͍݀ͯͨͱͯ͠΋ɺ
 ͨ͘͞ΜॏͶΔ͜ͱͰɺશͯͷ݀Λൈ͚Δ͜ͱ͸
 ඇৗʹ೉͘͠ͳΔɻ *NBHF$$IUUQTQJYBCBZDPNQ

Slide 48

Slide 48 text

ʮʓʓʯͨ͠ϓϩηε wίϯςφͷਖ਼ମ͸ɺ-JOVYΧʔωϧͷ༷ʑͳػೳΛ༻͍ͯɺ w04Ϧιʔεͷ෼཭ w04Ϧιʔεͷར༻੍ݶ wݖݶͷߜΓࠐΈ wΛߦ͍ɺϗετͱಠཱ҆͠શͳঢ়ଶʹͨ͠ϓϩηεͰ͋Δͱݴ͑Δ

Slide 49

Slide 49 text

࣮ࡍʹͲ͏ͳ͍ͬͯΔ͔ ೷͍ͯΈ·͠ΐ͏

Slide 50

Slide 50 text

%PDLFS IUUQTXXXqJDLSDPNQIPUPT!/$$CZTB

Slide 51

Slide 51 text

%PDLFSͰίϯςφΛ࡞Ζ͏ w൚༻తͳ-JOVYʢࠓճ͸6CVOUV[FTUZʣͰ w%PDLFSΛೖΕɺίϯςφΛ࡞ͬͯΈΔ

Slide 52

Slide 52 text

ϓϩηε͕ग़དྷ্͕Δ wEPDLFSE
 aDPOUBJOFSE
 aSVOD

Slide 53

Slide 53 text

ϓϩηεͷؾ࣋ͪʹͳΔʹ͸ wQSPDϑΝΠϧγεςϜ w೷͍ͯΈͨ͜ͱ͋Γ·͔͢ʁ

Slide 54

Slide 54 text

/BNFTQBDFΛ೷͍ͯΈΔ wQSPD1*%OTσΟϨΫτϦ wͦ͜ʹɺ/4Λදݱ͢ΔϑΝΠϧ΁ͷγϯϘϦοΫϦϯΫ͕͋Δɻ w௨ৗͷϓϩηεͱ͍ࠩͯ͠Δ΋ͷ͕ҧ͏ͱΘ͔Δ %FGBVMU/BNFTQBDF $POUBJOFS/BNFTQBDF

Slide 55

Slide 55 text

ॴଐ͢ΔDHSPVQΛ೷͍ͯΈΔ wQSPD1*%DHSPVQʹ͋ΔʢWͷ৔߹ʣɻ wରԠ͢ΔDHSPVQΛ௚઀ૢ࡞͢Δ͜ͱ΋Ͱ͖ͨΓɻ

Slide 56

Slide 56 text

ݖݶ͕ߜΒΕ͍ͯΔͷΛ೷͍ͯΈΔ wQSPD1*%TUBUVT w$BQͱ͍͏ߦ͕ɺී௨ͷSPPUͱҧ͏ͱ֬ೝͰ͖Δ w͜ͷͦΕͧΕͷϏοτ͕ɺҰͭҰͭ$BQBCJMJUZʹରԠ %FGBVMUSPPU $POUBJOFSSPPU

Slide 57

Slide 57 text

ίϯςφͷػೳΛ୯ମͰ࢖͏͜ͱ΋Ͱ͖Δ wVOTIBSF ίϚϯυͷྫ w1*%/BNFTQBDFɺ.PVOU/BNFTQBDFɺ654/BNFTQBDFΛ
 ෼཭ͨ͠৽͍͠γΣϧ্ཱ͕͕ͪΔɻ࣮ࡍɺQSPDͳͲΛϚ΢ϯτ͠ ௚͢ͱɺ1*%͕͔Βʹ wϗετ໊΋ಠཱ $ unshare --fork --pid --mount --uts

Slide 58

Slide 58 text

ίϯςφͷػೳΛ୯ମͰ࢖͏͜ͱ΋Ͱ͖Δ wDBQTI ίϚϯυͷྫ w্ཱͪ͛ͨγΣϧͰ͸ɺSPPUͰ͸͋Δ͕ϗετͷ࣌ؒͷૢ࡞ʹࣦഊ ͢ΔɻʮݖݶΛ੍ݶ͞ΕͨSPPUʯͱͳΔ $ sudo capsh --drop==cap_sys_time -- -l

Slide 59

Slide 59 text

͜ͷষͷ·ͱΊ wίϯςφ͸ɺʮϗετ͔ΒϦιʔεΛ෼཭ɾ੍ݶ͠ɺݖݶΛߜͬͯ҆ શʹʯͨ͠ϓϩηεͰ͋Δɻ wͲͷΑ͏ͳ࣮૷ʢ%PDLFSɺ-9$ɺͦͷଞʣͰ΋ڞ௨ͯ͠ɺͦͷΑ͏ ͳϓϩηεΛ࡞ͬͯίϯςφͱ͍ͯ͠Δɻ

Slide 60

Slide 60 text

ίϯςφք۾ͷۙگ

Slide 61

Slide 61 text

ίϯςφ͸ొ৔ਓ෺͕ଟ͗͢Δ w-JOVYΧʔωϧࣗମɺγεςϜίʔϧ w֤छίϯςφϥϯλΠϜ wΦʔέετϨʔγϣϯπʔϧ܈ wΫϥ΢υαʔϏεͦͷଞ wͳͲͳͲ wˠશମ؍Λࣔͭͭ͠ɺ੔ཧ͠·͢

Slide 62

Slide 62 text

ίϯςφ͸ొ৔ਓ෺͕ଟ͗͢Δ w-JOVYΧʔωϧࣗମɺγεςϜίʔϧ w֤छίϯςφϥϯλΠϜ wΦʔέετϨʔγϣϯπʔϧ܈ wΫϥ΢υαʔϏεͦͷଞ wͳͲͳͲ wˠશମ؍Λࣔͭͭ͠ɺ੔ཧ͠·͢ ͜ͷষ͸͜͜

Slide 63

Slide 63 text

֤छίϯςφϥϯλΠϜͷొ৔ wίϯςφͷ࣮૷͸࣮͸ͦΜͳʹ೉͘͠ͳ͍ w؆୯ʹ෼ྨ͢Δͱ w6/*9తπʔϧʢDISPPU΍JQOFUOTʣɺ-9$ w%PDLFSϓϩδΣΫτͱ͔ͦ͜Βग़͖ͯͨ.PCZ wSLU΍$3*0ͳͲͷ։ൃɺͦΕʹ͙࣍3BJM$BS wࣗ෼ͷͨΊͷίϯςφʢKBJMJOHɺESPPUଞʣ

Slide 64

Slide 64 text

֤छίϯςφϥϯλΠϜͷొ৔ wίϯςφͷ࣮૷͸࣮͸ͦΜͳʹ೉͘͠ͳ͍ w؆୯ʹ෼ྨ͢Δͱ w6/*9తπʔϧʢDISPPU΍JQOFUOTʣɺ-9$ w%PDLFSϓϩδΣΫτͱ͔ͦ͜Βग़͖ͯͨ.PCZ wSLU΍$3*0ͳͲͷ։ൃɺͦΕʹ͙࣍3BJM$BS wࣗ෼ͷͨΊͷίϯςφʢKBJMJOHɺESPPUଞʣ 0QFO$POUBJOFS*OJUJBUJWF ४ڌͷίϯςφͨͪ ʢ·ͨ͸ͦΕΛ໨ࢦ͢΋ͷʣ

Slide 65

Slide 65 text

ίϯςφͷඪ४Խ

Slide 66

Slide 66 text

ίϯςφͷඪ४Խ w0QFO$POUBJOFS*OJUJBUJWF IUUQTXXXPQFODPOUBJOFSTPSHɹ

Slide 67

Slide 67 text

0QFO$POUBJOFS*OJUJBUJWF wίϯςφͷඪ४࢓༷Λࡦఆ͢ΔͨΊͷஂମ wϝϯόʔ͸$PSF04ɺ%PDLFSɺ3FE)BUɺ.JDSPTPGUɺ(PPHMF w%PDLFSͷ͍࣋ͬͯͨ࢓༷͕͜ͷஂମʹدଃ͞ΕɺͦΕΛ΋ͱʹ ೥݄ʹ0$*W͕ࡦఆ͞Εͨ wྫ͑͹ɺίϯςφ͕ຬͨ͢΂͖γεςϜతཁ݅ɺઃఆͰ͖Δ΂͖߲໨ɺ αϙʔτ͢ΔϥΠϑαΠΫϧɺΠϝʔδͷϑΥʔϚοτͳͲΛఆٛ IUUQTHJUIVCDPNPQFODPOUBJOFSTSVOUJNFTQFD

Slide 68

Slide 68 text

0$*ͷن໿Λຬͨ͢ͱ wྫ͑͹ɺEPDLFSίϚϯυΛܦ༝ͯͦ͠ͷϥϯλΠϜΛ্ཱͪ͛ΒΕΔ wEPDLFS͔ΒσϑΥϧτͰ্ཱ͕ͪΔSVOD΋ɺ0$*४ڌͷίϯςφͷ Ұͭʹա͗ͳ͍ͱݟ၏͢͜ͱ͕Ͱ͖Δɻ w3BJMDBSͷྫ $ dockerd ...--add-runtime "railcar=/path/to/railcar" $ docker run -it --rm --runtime railcar hello

Slide 69

Slide 69 text

ΦʔέετϨʔγϣϯπʔϧͷོ੝ w,VCFSOFUFTͱ/PNBE͕୅දతɻ,VCFSOFUFT͕ͱʹ͔͘ڧ͍ɻ
 ଞʹɺ%PDLFS$PNQPTF4XBSNͳͲ΋ؚ·ΕΔ͔΋͠Εͳ͍ɻ w,VCFSOFUFTͱ/PNBE͸ɺ(PPHMFࣾͷࣾ಺ج൫ʮ#PSHʯΛϕʔεʹ ։ൃ͞Ε͍ͯΔɻ

Slide 70

Slide 70 text

DG*OGSBTUSVDUVSFBT$PEF w%ZOBNJD*OGSBTUSBDUVSF ͷίʔυԽͷ
 Ԇ௕ઢ্ʹɺίϯςφΠϯϑϥͷ
 ίʔυԽ͕͋Δ͔΋͠Εͳ͍ɻ IUUQNJ[[ZPSHCMPH

Slide 71

Slide 71 text

#PSHQBQFS wಛ௃ɺૂ͍ͳͲ w ϦιʔεϚωδϝϯτ΍ΤϥʔॲཧΛϢʔβ͔ΒӅ͢ w ඇৗʹߴ͍৴པ౓΍Մ༻ੑ΍ఏڙ͢Δ w ਺ສ୆ͷϚγϯΛޮ཰Α͘࢖͍δϣϒΛ࣮ߦ͢Δ w43&ຊʹ΋ɺ#PSH΍#PSHNPOͷ࿩͕ग़͍ͯΔͦ͏ w1BYPTͷ୅ΘΓʹ3BGU FUDE ɺ#PSHMFUͱ1PEͳͲɺӨڹ͕ਵॴʹ IUUQTTUBUJDHPPHMFVTFSDPOUFOUDPNNFEJBSFTFBSDIHPPHMFDPNKBQVCTBSDIJWFQEG

Slide 72

Slide 72 text

l,VCFSOFUFTUSBDFTJUTMJOFBHFEJSFDUMZ GSPN#PSHz IUUQCMPHLVCFSOFUFTJPCPSHQSFEFDFTTPSUP LVCFSOFUFTIUNM

Slide 73

Slide 73 text

ίϯςφΞʔΩςΫνϟͷ ϨΠϠԽ

Slide 74

Slide 74 text

ίϯςφΞʔΩςΫνϟͷϨΠϠԽ w֤ॴͰఏҊ͕ࢼ͞Ε͍ͯΔɻFH.PCZ1SPKFDU wίϯϙωϯτΛϥϯλΠϜɺΦʔέετϨʔγϣϯͳͲϨΠϠԽ͠ɺ
 ૊Έ߹Θ͍ͤͨ IUUQTNPCZQSPKFDUPSH

Slide 75

Slide 75 text

ྫϖύݚͷఏҊϞσϧ wετϥςδ૚ͷಋೖ w'BTU$POUBJOFSɺ
 3BODIFSͳͲͷҐஔ෇͚ IUUQTSBOEQFQBCPDPNBSUJDMFJPUNBUTVNPUPSZ

Slide 76

Slide 76 text

૚ಉ࢜ͷ࢓༷ͷఆٛͷҰྫ w,VCFSOFUFTͷ$3*ͷྫ wEach container runtime has it own strengths wKubelet communicates with the container runtime... over Unix sockets using the gRPC framework w$3*ʹԊ࣮ͬͯ૷͢Ε͹ɺྫ͑͹,VCFSOFUFTͷ্Ͱ)BDPOJXBΛಈ͔ ͢͜ͱ΋Ͱ͖ΔͰ͋Ζ͏ɻ IUUQCMPHLVCFSOFUFTJPDPOUBJOFSSVOUJNFJOUFSGBDFDSJJOLVCFSOFUFTIUNM

Slide 77

Slide 77 text

͜ΕΒΛ౿·͑ͯ վΊͯ

Slide 78

Slide 78 text

ࠞಱͱ͢Δίϯςφؔ࿈ιϑτ΢ΣΞଞ EPDLFS SVOD DSJP MYD MYE SBJMDBS IBDPOJXB LVCFSOFUFT OPNBE VOTIBSF SLU TXBSN (,& .BHOVN DISPPU &$4 "$* SLUMFU SBODIFS NPCZ

Slide 79

Slide 79 text

ͷ͏ͪɺʮϥϯλΠϜʯͷօ͞Μ EPDLFS SVOD DSJP MYD MYE SBJMDBS IBDPOJXB LVCFSOFUFT OPNBE VOTIBSF SLU TXBSN (,& .BHOVN DISPPU &$4 "$* SLUMFU SBODIFS NPCZ

Slide 80

Slide 80 text

ϥϯλΠϜʹ΋ ෼ྨ͕ඞཁ

Slide 81

Slide 81 text

վΊͯEPDLFSEͷϓϩηεπϦʔͷྫ /usr/bin/dockerd --debug -l debug -H fd:// --... \_ docker-containerd -l unix:///var/run/docker/... \_ docker-containerd-shim 95b86b... docker-runc \_ /bin/bash

Slide 82

Slide 82 text

/usr/bin/dockerd --debug -l debug -H fd:// --... \_ docker-containerd -l unix:///var/run/docker/... \_ docker-containerd-shim 95b86b... docker-runc \_ /bin/bash େ·͔ͳ໾ׂ෼୲ EPDLFSEIUUQϦΫΤετΛड͚औΔ

Slide 83

Slide 83 text

/usr/bin/dockerd --debug -l debug -H fd:// --... \_ docker-containerd -l unix:///var/run/docker/... \_ docker-containerd-shim 95b86b... docker-runc \_ /bin/bash େ·͔ͳ໾ׂ෼୲ EPDLFSEIUUQϦΫΤετΛड͚औΔ DPOUBJOFSEEPDLFSE͔ΒͷϦΫΤετΛड͚औΓ
 ίϯςφ؀ڥΛηοτΞοϓͯ͠DPOUBJOFSETIJNʹ౉͢

Slide 84

Slide 84 text

/usr/bin/dockerd --debug -l debug -H fd:// --... \_ docker-containerd -l unix:///var/run/docker/... \_ docker-containerd-shim 95b86b... docker-runc \_ /bin/bash େ·͔ͳ໾ׂ෼୲ EPDLFSEIUUQϦΫΤετΛड͚औΔ DPOUBJOFSEEPDLFSE͔ΒͷϦΫΤετΛड͚औΓ
 ίϯςφ؀ڥΛηοτΞοϓͯ͠DPOUBJOFSETIJNʹ౉͢ DPOUBJOFSETIJNܾ·ͬͨϓϩτίϧͰSVODଞϥϯλΠϜΛىಈ͢Δ

Slide 85

Slide 85 text

/usr/bin/dockerd --debug -l debug -H fd:// --... \_ docker-containerd -l unix:///var/run/docker/... \_ docker-containerd-shim 95b86b... docker-runc \_ /bin/bash େ·͔ͳ໾ׂ෼୲ EPDLFSEIUUQϦΫΤετΛड͚औΔ DPOUBJOFSEEPDLFSE͔ΒͷϦΫΤετΛड͚औΓ
 ίϯςφ؀ڥΛηοτΞοϓͯ͠DPOUBJOFSETIJNʹ౉͢ DPOUBJOFSETIJNܾ·ͬͨϓϩτίϧͰSVODଞϥϯλΠϜΛىಈ͢Δ ίϯςφԽͨ͠ϓϩηεࣗମ

Slide 86

Slide 86 text

͜͏͍͏࣮૷Λ౿·͑ͯ෼͚ͯΈͨ EPDLFSEDPOUBJOFSE NPCZDPOUBJOFSE DSJP SLUMFU SVOD SLU SBJMDBS MYE MYD IBDPOJXB

Slide 87

Slide 87 text

͜͏͍͏࣮૷Λ౿·͑ͯ෼͚ͯΈͨ %PDLFS"1*ɺ$3*ͳͲΛ ड͚औͬͯίϯςφͷͨΊͷ४උͱ ىಈϓϩηεΛ୲౰͢Δ EPDLFSEDPOUBJOFSE NPCZDPOUBJOFSE DSJP SLUMFU SVOD SLU SBJMDBS MYE MYD IBDPOJXB ࣮ࡍʹɺΧʔωϧͷ γεςϜίʔϧΛݺͿͳͲͯ͠ ίϯςφϓϩηεΛ࡞੒͢Δ

Slide 88

Slide 88 text

͜͏͍͏࣮૷Λ౿·͑ͯ෼͚ͯΈͨ %PDLFS"1*ɺ$3*ͳͲΛ ड͚औͬͯίϯςφͷͨΊͷ४උͱ ىಈϓϩηεΛ୲౰͢Δ $PNNVOJDBUPS Ծ -PDBUFS Ծ EPDLFSEDPOUBJOFSE NPCZDPOUBJOFSE DSJP SLUMFU SVOD SLU SBJMDBS MYE MYD IBDPOJXB ࣮ࡍʹɺΧʔωϧͷ γεςϜίʔϧΛݺͿͳͲͯ͠ ίϯςφϓϩηεΛ࡞੒͢Δ

Slide 89

Slide 89 text

͜ͷষͷ·ͱΊ wίϯςφʹؔ͢Δಈ͖͸ɺίϯςφࣗ਎ͷ࣮૷ͷ಺༰Χʔωϧత࿩ ୊ͱͱ΋ʹɺೋͭͷ఺Λԡ͑͞Δͱྑ͍ͩΖ͏ɻ w ίϯςφʹ͸ඪ४Խͷಈ͖͕͋Γɺඪ४ʹԊͬͯ໨తͷͨΊͷί ϯςφΛ࡞͍ͬͯ͘ಈ͖͕Մೳʹͳ͍ͬͯ͘ w ίϯςφͷΤίγεςϜ͸ɺͦΕͧΕͷίϯϙωϯτ͕ϨΠϠԽ͞ Ε࣮ͯ૷͕ू໿͞Ε͍ͯ͘Ͱ͋Ζ͏ɻϨΠϠࣗମ΍ɺ,VCFSOFUFTͷ $3*ͷΑ͏ͳɺϨΠϠಉ࢜ͷΠϯλʔϑΣʔε΋੔උ͞ΕΔɻ͸ͣ

Slide 90

Slide 90 text

)BDPOJXBͷࠓޙ

Slide 91

Slide 91 text

ຊ෦ձ͸ɺιϑτ։ൃεΩϧ͕اۀ಺ʹด͡ɺۀքશମͷεΩ ϧ޲্ʹͳ͓ͬͯΒͣɺ͔ͭɺ೔ຊൃͷάϩʔόϧڝۀྗͷ͋ Διϑτ͕গͳ͍ݱঢ়Λةዧ͠ɺ೔ຊͷಛ௃Λ׆͔ͨ͠044Ξ ϓϦέʔγϣϯΛ։ൃ͠ɺར༻ऀͷཱ৔ͰϏδωεϞσϧΛఏ Ҋͯ͠ɺ044ͷීٴɺ͓Αͼɺιϑτ։ൃऀͷεΩϧ޲্΁ͷ ߩݙΛ໨ࢦ͢΋ͷͰ͋Δ ΞϓϦέʔγϣϯ෦ձʮ໨తͱഎܠʯΑΓ

Slide 92

Slide 92 text

ϏζχεϞσΡ

Slide 93

Slide 93 text

ϩϦϙοϓʂ ϚωʔδυΫϥ΢υ

Slide 94

Slide 94 text

)BDPOJXBΛόοΫΤϯυʹ࠾༻ w΋ͱ΋ͱʮ1BB4ϗεςΟϯάΛ΋ͬͱ͍͍ײ͡ʹ͍ͨ͠ʯͱ͍͏
 Ϟνϕʔγϣϯ͔Β࢝·ͬͨ044Ͱ͋Δ͜ͱͱগͭ͠ͳ͕Δ w'BTU$POUBJOFSʴ)BDPOJXBͰɺ΍Γ͍ͨ8FCαʔϏεΛ࡞Δ IUUQTQFQBCPDPNOFXTQSFTT

Slide 95

Slide 95 text

۝भେֶͱͷڞಉݚڀ

Slide 96

Slide 96 text

Ϋϥ΢υେن໛࣮ݧͷج൫ͱͯ͠ wlίϯςφܕԾ૝Խٕज़Λج൫ʹ༻͍ͨΫϥ΢υϗεςΟϯάʹؔ͢ Δڞಉݚڀ։ൃΛ։࢝z w΋ͪΖΜɺ͜ͷlίϯςφܕԾ૝Խٕज़zͷॏཁͳҰ୺͕)BDPOJXB
 Ͱ͋Δʂʂʂ̍ʢઌड़ͷϚωʔδυΫϥ΢υͷԠ༻ͳͷͰʣ wৄࡉ͸ϓϨεϦϦʔε Ͱɻࠓޙ΋΍͍͖ͬͯ·͢ IUUQTQFQBCPDPNOFXTQSFTT IUUQTXXXLZVTIVVBDKQG@@QEG

Slide 97

Slide 97 text

)BDPOJXBͷ ໨ࢦ͢ੈք

Slide 98

Slide 98 text

࠶ܝ%PDLFS0$*ͳͲͷํ޲ੑ w͜͜·ͰͷൺֱͰɺ%PDLFSͳͲͱ)BDPOJXBͷҧ͍Λྻڍͨ͠ wݸਓతʹɺ%PDLFSͷ໨ࢦ͢ํ޲͸ʮ7.ͷ࠶ൃ໌ʯతʹࢥ͑Δ wϢʔβʔ͔ΒɺʮԾ૝؀ڥʯͷৄࡉ͸Ӆ͞Ε͍ͯͯɺ
 ܾ·ͬͨ"1*Λܦ༝ͯ͠σϓϩΠɾΦʔέετϨʔγϣϯΛߦ͏ wDG,VCFSOFUFT#PSHʢ͜Ε΋ޙड़ʣ wͦ͏͍͏ந৅Խࣗମ͸ɺҰͭͷํ޲ੑͰ͸͋Δ ΤίγεςϜͷಈ͖͸ɺ ͜͜Λิڧ͍ͯ͠Δͱ ཧղ͢ΔͱΘ͔Γ΍͍͢͸ͣ

Slide 99

Slide 99 text

࠶ܝ$POUBJOFS&DPTZTUFNBT$PEF w)BDPOJXBͱɺͦͷपลͰ໨ࢦ͍ͨ͠ͱ͜Ζ wجຊతͳϦιʔεׂ౰΍ݖݶ෼཭ͳͲͷઃఆ͸ίʔυԽͰ͖Δ w·ͨɺଞͷϥϯλΠϜͱൺ΂ͯ΋๛෋ͳϑοΫΛ༻ҙ͠ɺίϯςφͷ ৼΔ෣͍ɾϥΠϑαΠΫϧΛίʔυԽͰ͖Δ w͔͜͜ΒɺίʔυԽͷൣғΛ޿Ί͍͖͍ͯͨɻ
 ྫ͑͹ωοτϫʔΫ૚΍ɺ04ͷηΩϡϦςΟɾ؂ࠪͷ࢓૊Έʢ-JOVY ͷ-4.ʣͳͲ΋ίʔυԽͷൣғʹͰ͖ͳ͍͔ʁ

Slide 100

Slide 100 text

ࠓίʔυԽ͍ͯ͠Δͱ͜Ζ Χʔωϧࣗମ Χʔωϧ֦ுͳͲ γεςϜίʔϧ /BNFTQBDF DHSPVQ $BQBCJMJUZ DISPPU౳ TFDDPNQ )PPLT /FUXPSLؔ࿈ઃఆ ΦʔέετϨʔγϣϯ૚ͱͷ࿈ܞ )BDPOJXB %4-

Slide 101

Slide 101 text

͜Ε͔Β Χʔωϧࣗମ Χʔωϧ֦ுͳͲ γεςϜίʔϧ /BNFTQBDF DHSPVQ $BQBCJMJUZ DISPPU౳ TFDDPNQ )PPLT /FUXPSLؔ࿈ઃఆ ΦʔέετϨʔγϣϯ૚ͱͷ࿈ܞ ίʔυԽͰ͖Δ ൣғΛ૿΍͢ ίϯςφϋοΫ
 ͷͨΊͷ ೖΓޱʹ

Slide 102

Slide 102 text

΍͍͖͍ͬͯͨ w҆ఆԽʂʢಛʹɺUISFBEपΓʣ wωοτϫʔΫपΓͷ%4-ͷ࣮૷ w0$*΁ͷରԠʢίϚϯυϓϩτίϧɺΠϝʔδαϙʔτଞʣ w)551"1*ϨΠϠ$PNNVOJDBUPS૚ͷಋೖ w)BDPOJXBपลͷ-JOVY֦ுͷ࣮૷ʢQSPDGTతͳ)BDPOJXBGTͱ͔ɺ )BDPOJXBʹ౷߹͞Εͨ-4.Έ͍ͨͳͷΛ૝૾தʣ

Slide 103

Slide 103 text

ऴΘΓʹ

Slide 104

Slide 104 text

ϑΫΦΧ3VCZେ৆Ͱޠͬͨ͜ͱ wंྠͷ࠶ൃ໌ΛڪΕ͗͢ͳ͍͜ͱ

Slide 105

Slide 105 text

ࣗ෼ͷதʹ นΛ࡞Βͳ͍ Ұาઌʹ౿ΈࠐΉ

Slide 106

Slide 106 text

ຊ౰ͷ͜ͱΛ ஌Γ͚ͨΕ͹ खΛಈ͔͔͢͠ͳ͍ʂ

Slide 107

Slide 107 text

13 9

Slide 108

Slide 108 text

ίϯςφ௿ϨΠϠͷ࢓ࣄ ෱ԬͰͷࠊΛਾٕ͑ͨज़త੒௕ ͝ڵຯ͕͋Ε͹ ͬͦ͜Γ͝૬ஊʹ৐Γ·͢