Kubernetes Meetup Tokyo #24
ޙ౻རത(.01FQBCP *ODLVCFSOFUFTNFFUVQUPLZPNJOOFͷ։ൃڥͷมֵͱࠓޙ
View Slide
νʔϑςΫχΧϧϦʔυ5PTIJIJSP([email protected]NJOOFࣄۀ෦δϣʔδΞͷXFC$.ʹग़ͯΔਓ
ࠓճ͢ΔwNJOOFͷߏͷw,VCFSOFUFTಋೖҎલͷ։ൃڥͷw,VCFSOFUFTಋೖҎޙͷ։ൃڥͷwࠓޙͷ։ൃڥͷ
ࠓճ͠ͳ͍wͳͥ,VCFSOFUFTͷҠߦΛߦͳ͔ͬͨʁw࣮ࡍͷ,VCFSOFUFTҠߦͷ͓
NJOOFͷͬ͘͟Γͱͨ͠ߏͷ
LTಋೖҎલͷ։ൃڥ
ϩʔΧϧͷ։ൃڥwEPDLFSͰ֤ίϯςφΛ্ཱ͍ͪ͛ͯΔw֤ϛυϧΣΞNZTRM&MBTUJDTFBSDISFEJTNFNDBDIFEFUDʜwϚΠΫϩαʔϏεԽ͞Ε֤ͨαʔϏεw։ൃ͢ΔαʔϏεࣗମΛ্ཱͪ͛ΔࡍϩʔΧϧͰ্ཱͪ͛ΔPSϩʔΧϧͷEPDLFS্Ͱ্ཱͪ͛ΔwਓʹΑͬͯҧ͏
چϩʔΧϧ։ൃڥͰͷ՝wͳΜ͔յΕͨwEPDLFS্Ͱίϯςφ্ཱ͕͕͍ͪͬͯͳ͍͚ͩwίϯςφىಈ·ͱΊͯίϚϯυͰ͖ΔΑ͏ʹͳ͍ͬͯΔ͕ʜwϝϞϦͷͱ͔Ͱࢮ͵ίϯςφ͕͍ͨΓw֤छUPLFO͕ݹ͍w࠷৽ͷNBTUFSΛ͓ͬͯΒ֤ͣछUPLFO͕ݹͯ͘ىಈ࣌ʹࢮ͵wͦͷʹਓʑ͕Կ͕յΕͨͷ͔ௐࠪ͢Δඞཁ͕͋Δ
ϦϞʔτͷ։ൃڥw&$૬ͷTFSWFSΛෳ༻ҙwԿނ͔ಈͷ໊લͰڥΛ༻ҙ͍ͯͨ͠wϝΠϯͱͳΔαʔϏεҎ֎ڞ௨ͷͷw֤ϛυϧΣΞڞ௨ͷͷwσʔλຊ൪ͷσʔλΛϚεΫͨ͠ͷ
։ൃͷྲྀΕ ϩʔΧϧͰ։ൃ ͜ͷࡍͷಈ࡞֬ೝMPDBMIPTUͱ͔Ͱߦ͏ Πϯλʔωοτӽ͠ʹಈ࡞֬ೝ লུՄೳ ϦϞʔτͷ։ൃڥʹEFQMPZΛߦ͏ ϦϞʔτͷυϝΠϯΛࢦఆͯ͠ΞΫηε͠ಈ࡞֬ೝΛߦ͏
ਓʑ͕૿͑ͨ͜ͱͰ͕ʜ
چϦϞʔτ։ൃڥͰͷ՝wਓʑ͕૿͑ͨ͜ͱͰϦϞʔτ։ൃڥͷ͕Γͳ͘ͳͬͯདྷͨwCPUʹ୭͕ͬͯΔ͔Ѳͯ͠Β͏Α͏ʹͳͬͨwۭ͍ͯͳ͚Ε୭͔ʹৡͬͯΒ͏wશ෦͍ͬͯͨΒͪwͱΓ͋͑ͣΛ૿ͤղܾ͢Δwਓʑ͕૿͑Δͱ·ͨಉ͘͡૿͢ඞཁ͕ʜw ৗʹ͏Α͏ͳڥ͡Όͳ͍ͷͰίετʜ
ͲͷΑ͏ʹ՝Λղܾ͔ͨ͠ʁ
LTҠߦ࣌ʹରԠ
LTҠߦޙͷ։ൃڥ
ϩʔΧϧͷ։ൃڥwҎલͱಉ͡ਓ͍Δw৽ڥͷਓ։ൃ͢ΔαʔϏεͷΈEPDLFS্ʹίϯςφΛىಈwਖ਼֬ʹUFMFQSFTFODFܦ༝Ͱىಈͯ͠Β͏wΠϯλʔωοτӽ͠ͷΞΫηεΛϩʔΧϧͷEPDLFSʹྲྀ͢͜ͱ͕Մೳw֤ϛυϧΣΞϦϞʔτڥͷͷʹଓ͕Մೳ
ղܾ͞ΕͨϩʔΧϧͷ։ൃڥͷwͳΜ͔յΕͨwEPDLFS্Ͱίϯςφ্ཱ͕͕͍ͪͬͯͳ͍͚ͩwίϯςφىಈ·ͱΊͯίϚϯυͰ͖ΔΑ͏ʹͳ͍ͬͯΔ͕ʜwϝϞϦͷͱ͔Ͱࢮ͵ίϯςφ͕͍ͨΓw֤छUPLFO͕ݹ͍w࠷৽ͷNBTUFSΛ͓ͬͯΒ֤ͣछUPLFO͕ݹͯ͘ىಈ࣌ʹࢮ͵wͦͷʹਓʑ͕Կ͕յΕͨͷ͔ௐࠪ͢Δඞཁ͕͋Δ
ݸਓͷڥͷґଘ͕Լ
ϦϞʔτͷ։ൃڥwݸਓͰQPEΛॴ༗Ͱ͖Δ ਖ਼֬ʹXFCBQJ͕͋ΔͷͰQPEwOHJOYJOHSFTTDPOUSPMMFSΛ༻ͯ͠υϝΠϯຖʹΞΫηεΛྲྀ͢TWDΛࢦఆw֤ϛυϧΣΞڞ௨wUFMFQSFTFODFΛ͏ࡍ͜ͷQPEΛ͏
ղܾ͞ΕͨϦϞʔτ։ൃڥͰͷ՝wਓʑ͕૿͑ͨ͜ͱͰϦϞʔτ։ൃڥͷ͕Γͳ͘ͳͬͯདྷͨwCPUʹ୭͕ͬͯΔ͔Ѳͯ͠Β͏Α͏ʹͳͬͨwۭ͍ͯͳ͚Ε୭͔ʹৡͬͯΒ͏wશ෦͍ͬͯͨΒͪwͱΓ͋͑ͣΛ૿ͤղܾ͢ΔOPEF૿͔͢wਓʑ͕૿͑Δͱ·ͨಉ͘͡૿͢ඞཁ͕ʜw ৗʹ͏Α͏ͳڥ͡Όͳ͍ͷͰίετʜ
ۭ͖ͷ֬ೝ͕ͪͳ͘ͳΓੜ࢈ੑ61ίετ%08/
ϦϞʔτ։ൃڥͷߏwOHJOYJOHSFTTDPOUSPMMFSΛ༻ͯ͠υϝΠϯຖʹΞΫηεΛྲྀ͢TWDΛࢦఆwొ͞ΕͨJOHSFTTFYUFSOBMEOTΛ༻ͯ͠3PVUFʹొ ͔͕ͨͬͨ͠ʜwTLB⒎PMELBOJLPLVTUPNJ[FΛ༻ͯ͠ϦϞʔτͰͷJNBHFCVJMEෳڥʹରԠwEFQMPZTMBDLͷ*OUFSBDUJWF.FTTBHFTΛ༻ͨ͠CPU͕ߦ͏
TLB⒎PMEwJNBHFͷ࡞EFQMPZΛࣗಈԽwZBNMͰཧͰ͖ΔwLTͷNBOJGFTUT%PDLFSpMFΛ͏wEFWϞʔυͩͱίʔυʹมߋ͕͋ͬͨࡍʹࣗಈͰEFQMPZwޙड़͢ΔLVTUPNJ[FLBOJLPͱΈ߹ΘͤΔ͜ͱ͕Մೳ
LVTUPNJ[FwෳڥʹରԠͨ͠NBOJGFTUΛੜͰ͖ΔwPWFSMBZΛ͏wQSPEVDUJPOTUBHJOHFUDʜwLVTUPNJ[BUJPOZBNMΛ͏wKTPOQBUDIΛ͑ॊೈʹมߋՄೳ
LBOJLPwίϯςφͰJNBHFCVJMEΛͯ͘͠ΕΔwEPDLFSDPNNBOE͕ෆཁw%PDLFSpMFΛݩʹJNBHFΛCVJMEwCVJMEͨ͠JNBHFಛఆͷ3FHJTUSZʹQVTIͯ͘͠ΕΔ
FYUFSOBMEOTw*OHSFTTTFSWJDFͷઃఆΛݩʹ"843PVUF(PPHMF$MPVE%/4ͷ%/4Ϩίʔυͷߋ৽Λߦ͏w3PVUFͰ͏߹*".ϙϦγʔͷՃ͕ඞཁw*OHSFTTTFSWJDFΛফͨ͠ࡍͷڍಈ੍ޚՄೳw%/4Ϩίʔυআ͢ΔPS͢w͔͠͠NJOOFͰ3PVUFͱDMVTUFSͷؒʹSPMFTFSWFS͕ڬ·ΔͷͰ༻͍ͯ͠ͳ͍
EFQMPZCPUwฐࣾͷPHJEPX͕TMBDLJOUFSBDUJWFNFTTBHFΛ͏CPUͷGSBNFXPSLΛ༻wIUUQTHJUIVCDPNPHJEPXHPCPUwJOUFSBDUJWFNFTTBHFͷύϥϝʔλΛݩʹίϚϯυΛ࣮ߦ͠࠷ऴతʹTLB⒎PMESVOΛ࣮ߦ͢ΔwQPEͷೖΕସ͕͑ऴΘͬͨࡍʹTMBDLʹ௨
UFMFQSFTFODFwϦϞʔτͷLVCFSOFUFTDMVTUFSʹଓ͠ͳ͕ΒɺαʔϏεΛϩʔΧϧͰ࣮ߦ͢Δ͜ͱ͕ՄೳwϩʔΧϧͷ։ൃϚγϯΛLVCFSOFUFTDMVTUFSͷҰ෦ͷΑ͏ʹಈ࡞ͤ͞Δ͜ͱ͕Մೳ
ৄࡉͪ͜Β
ࠓޙͷ
৽ڥͰݟ͑ͯདྷͨ՝
৽ڥͰͷ՝wϩʔΧϧͰͷ։ൃͰҎલͱͯ͠EPDLFSίϯςφΛ্ཱ͍͍ͭͪ͛ͯ͘Δਓ͍ΔwUFMFQSFTFODF͏ࡍʹEPDLFSTZOD͏ͷͰϝϞϦ͕ݫ͍͠ ಛʹσβΠφʔwJNBHFσΧ͗͢wCVJMEʹ͔͔࣌ؒΔwLTʹ׳Εͯͳ͍ނʹτϥϒϧγϡʔςΟϯάʹ͕͔͔࣌ؒΔ
ࠓޙऔΓΉඞཁ͕͋Γͦ͏ͳ՝
ࠓޙऔΓΉඞཁ͕͋Γͦ͏ͳ՝wϚΠΫϩαʔϏεԽ͕ਐΜͩࡍʹͲ͜·ͰݸਓͷڥΛ͚Δ͔w֤αʔϏεͷશQPEΛݸਓຖʹ༻ҙ͢Δ͔ʁw্هͱ߹Θ֤ͤͨϛυϧΣΞΛݸਓຖʹ͚Δ͔
͜ΕΒͷ՝Λղܾ͠ͳ͕Β ͬͱ໘ന͍͜ͱ͕Ͱ͖ͳ͍͔ʁ Λߟ͍͑ͯΔ͕ʜ
·ͱΊ
·ͱΊwLTҠߦʹͬͯچ։ൃڥͷ՝ΫϦΞͰ͖ͨwUFMFQSFTFODFΛ͏͜ͱͰچϩʔΧϧͱچϦϞʔτΛϋΠϒϦουԽͨ͠Α͏ͳڥʹͳͬͨw·ͩLTͷԸܙΛશʹड͚Ε͍ͯͳ͍ͷ͔͠Εͳ͍w৽ͨͳ՝͋ΔͷͰཁվળwϚΠΫϩαʔϏεԽ͕ਐΜͰ͍͘ͱ৽͍͠՝͕ൃੜͦ͠͏w෭࣍తޮՌͱͯ͠"OESPJEJ04ΞϓϦΤϯδχΞͷؾܰʹյͤΔΠϯϑϥڥΛఏڙͰ͖ͨ
͋Γ͕ͱ͏͍͟͝·ͨ͠