Docker/Kubernetes 実践コンテナ開発入門 Japan Tour 2019 in Osaka
Kubernetes Handson- Docker/Kubernetes ࣮ફίϯςφ։ൃೖ Japan Tour 2019 in Osaka-2019.01.30 - 01.31
View Slide
XIPJT‣ "LJOPSJ:BNBEB‣ $ZCFS"HFOU‣ '3&4)-*7&‣ 0QFO4BB44UVEJP5FDI-FBETUPSNDBU
εϥΠυͷݟग़͠ʹ͕͍͍ͭͯΔͱ͜Ζ࣮ࡍʹօ͞ΜʹखΛಈ͔ͯ͠Β͏ͱ͜ΖͰ͢
IUUQTHJUIVCDPNTUPSNDBULVCFSOFUFTIBOETPOϩʔΧϧʹ$MPOF͓͍͍ͯͯͩ͘͠͞
ίϚϯυΛࣸܦ͢Δͷ͕ͭΒ͍ʂͱ͍͏ͦ͜ͷ͋ͳͨ
3&"%.&Λ͝ཡ͍ͩ͘͞
PVUMJOF‣ NJOͳͥࠓ,VCFSOFUFTΛΔͷ͔‣ NJO-PDBMͰ͍͍ײ͡ͷ,VCFSOFUFT։ൃڥΛଗ͑Δ‣ NJO,VCFSOFUFTͷجຊతͳϦιʔεɺΞϓϦέʔγϣϯͷσϓϩΠ‣ NJOٳܜ‣ NJO)FMNͰΞϓϦέʔγϣϯΛύοέʔδϯά͢Δ‣ NJOTLBGGPMEͰ͍͍ײ͡ʹ։ൃΛճͯ͠ΈΔ‣ NJOͦͷଞϢʔεέʔεɺศརπʔϧհ‣ Γ༧උ࣌ؒɾ࣭ٙλΠϜ
ͳͥࠓ,VCFSOFUFTΛΔͷ͔
"ίϯςφΦʔέετϨʔγϣϯͷσϑΝΫτ͔ͩΒσϑΝΫτΛબͿͷେࣄ৫ʹ͓͚Δϊϋͷू
"Φʔϓϯιʔε͔ͩΒϗϫΠτϘοΫε׆ൃͳ։ൃίϛϡχςΟ๛ͳΤίγεςϜߴ͍֦ுੑ
"Ϛωʔδυͷॆ࣮(PPHMF,VCFSOFUFT&OHJOF (,&"NB[PO&MBTUJD$POUBJOFS4FSWJDFGPS,VCFSOFUFT &,4"[VSF,VCFSOFUFT4FSWJDF ",4
σϑΝΫτͰ͋Δֶ͕शͷෑډΛ͘ແ͍ࣗ༝ͷߴ͞ނͷ֓೦ͷଟ͞มԽͷૣ͍ྖҬނͷֶशͷ͠͞FUD
%PDLFS,VCFSOFUFT࣮ફίϯςφ։ൃೖٕज़ධࣾʣେώοτޚྱઈࢍൃചத
ࠓ͜ͷຊΛϕʔεʹ࠷Ͱ,VCFSOFUFTΛ׆༻ͨ͠։ൃΠϝʔδΛ௫ΜͰΒ͍ɺ͔ͭ࠷ۙͷτϨϯυͷѲ·ͰΛࢦ͠·͢
-PDBMͰ͍͍ײ͡ͷ,VCFSOFUFT։ൃڥΛଗ͑Δ
%PDLFS%FTLUPQ‣ %PDLFSGPS8JOEPXT.BDͷ͜ͱ‣ ࠷ۙ%PDLFS%FTLUPQͱݺͿΒ͍͠‣ μϯϩʔυʹ%PDLFS4UPSFͷϩάΠϯඞཁ‣ ͔Β,VCFSOFUFT࿈ܞ͕4UBCMFʹ
ઃఆը໘Λ։͘
$16ɺϝϞϦׂΓͯ֬ೝ
,VCFSOFUFTઃఆ
,VCFSOFUFTJTTUBSUJOH
,VCFSOFUFTJTSVOOJOH
LVCFDUM‣ ͘͠ʔͯ͌ʔ͑Δ‣ ,VCFSOFUFTΫϥελΛૢ࡞͢ΔͨΊͷίϚϯυϥΠϯπʔϧLVCFDUMDMVTUFSJOGP,VCFSOFUFTNBTUFSJTSVOOJOHBUIUUQTMPDBMIPTU,VCF%/4JTSVOOJOHBUIUUQTMPDBMIPTUBQJWOBNFTQBDFTLVCFTZTUFNTFSWJDFTLVCFEOTEOTQSPYZ5PGVSUIFSEFCVHBOEEJBHOPTFDMVTUFSQSPCMFNT VTFLVCFDUMDMVTUFSJOGPEVNQ
%BTICPBSEͷσϓϩΠ‣ Ϋϥελͷঢ়ଶΛݟΔͨΊͷ8FC6*πʔϧ%BTICPBSEΛσϓϩΠLVCFDUMBQQMZGIUUQTSBXHJUIVCVTFSDPOUFOUDPNLVCFSOFUFTEBTICPBSEWTSDEFQMPZSFDPNNFOEFELVCFSOFUFTEBTICPBSEZBNMLVCFDUMOLVCFTZTUFNHFUQPEMLTBQQLVCFSOFUFTEBTICPBSE/".&3&"%:45"5643&45"354"(&LVCFSOFUFTEBTICPBSEGCCEYOK3VOOJOHI
%BTICPBSEϩάΠϯ༻Ϣʔβʔ࡞ϩάΠϯ༻Ϣʔβʔ࡞LVCFDUMBQQMZGIUUQTSBXHJUIVCVTFSDPOUFOUDPNTUPSNDBULVCFSOFUFTIBOETPONBTUFSTFUVQBENJOVTFSZBNMΞΫηετʔΫϯͷදࣔLVCFDUMOLVCFTZTUFNEFTDSJCFTFDSFU LVCFDUMOLVCFTZTUFNHFUTFDSFUcHSFQBENJOVTFScBXL\QSJOU^%BUBDBDSUCZUFTOBNFTQBDFCZUFTUPLFOFZ+IC(DJ0J+46[*/J*T*NUQ;$**J+FZʜʜ
QSPYZΛ࣮ߦ‣ LVCFDUMQSPYZͰQSPYZΛ࣮ߦ‣ ϑΥΞάϥϯυͰ࣮ߦ͞ΕΔ‣ IUUQMPDBMIPTUBQJWOBNFTQBDFTLVCFTZTUFNTFSWJDFTIUUQTLVCFSOFUFTEBTICPBSEQSPYZ
τʔΫϯΛͬͯϩάΠϯ
%BTICPBSEදࣔ
,VCFSOFUFTͷجຊతͳϦιʔεΞϓϦέʔγϣϯͷσϓϩΠ
,VCFSOFUFTͷجຊ֓೦ɹ
ίϯςφΦʔέετϨʔγϣϯπʔϧͷҰͭ
ΦʔέετϨʔγϣϯͷ౷͢Δ.BTUFS
,VCFSOFUFTͰίϯςφΦʔέετϨʔγϣϯٕज़Λ࣮ݱ͢ΔͨΊͷ༷ʑͳϦιʔεʢ෦ʣΛΈ߹ΘͤͯΞϓϦέʔγϣϯΛ࣮ߦ͢Δ
,VCFSOFUFTͷϦιʔε%FQMPZNFOU/BNFTQBDF 4FSWJDF *OHSFTT$POGJH.BQ%BFNPO4FU4UBUFGVM4FU +PC1PE 3FQMJDB4FU+PC $SPO+PC˞΄ΜͷҰ෦Ͱ͢
1PE
1PE‣ ίϯςφͷू߹ମͷ୯ҐͰɺগͳ͘ͱͭͷίϯςφΛ࣋ͭ‣ ίϯςφಉ͕࢜ີ݁߹Ͱ͋Δํ͕߹͕ྑ͍߹ɺ1PEͱͯ͠ෳछίϯςφΛ·ͱΊͯσϓϩΠ͢Δ‣ ,VCFSOFUFTͰίϯςφ୯ҐͰͳ͘ɺ1PE୯ҐͰσϓϩΠ͞ΕΔ
1PEͷஔΠϝʔδ
/PEFލ͗/(
1PEΛ࡞‣ OHJOYͱFDIPΛฦ͢ΞϓϦέʔγϣϯ͔ΒΔ1PE‣ LVCFSOFUFTIBOETPOSFTPVSDFTJNQMFFDIPZBNM‣ ϚχϑΣετϑΝΠϧͱݺΕΔ,VCFSOFUFTͷϦιʔεఆٛΛLVCFDUMͰద༻͢Δ͜ͱͰɺϦιʔεͷ࡞ɾमਖ਼Λߦ͏
1PEͷϚχϑΣετϑΝΠϧBQJ7FSTJPOWLJOE1PENFUBEBUBOBNFTJNQMFFDIPTQFDDPOUBJOFSTOBNFOHJOYJNBHFHJIZPEPDLFSOHJOYQSPYZMBUFTUFOWOBNF#"$,&/%@)045WBMVFMPDBMIPTUQPSUTDPOUBJOFS1PSUOBNFFDIPJNBHFHJIZPEPDLFSFDIPMBUFTUQPSUTDPOUBJOFS1PSU
1PEΛ࡞1PEͷ࡞LVCFDUMBQQMZGSFTPVSDFTJNQMFFDIPZBNMQPETJNQMFFDIPDSFBUFE࡞ͨ͠1PEͷ֬ೝLVCFDUMHFUQPE/".&3&"%:45"5643&45"354"(&TJNQMFFDIP3VOOJOHN
1PEͷૢ࡞FDIPίϯςφͷϩάʢඪ४ग़ྗʣͷ֬ೝLVCFDUMMPHTGTJNQMFFDIPDFDIPTUBSUTFSWFSOHJOYίϯςφʹ44)ϩάΠϯͬΆ͍͜ͱΛ͢ΔʢTIͷ࣮ߦʣLVCFDUMFYFDJUTJNQMFFDIPTIDOHJOY QMFBTFJOQVU1PEΛআLVCFDUMEFMFUFQPETJNQMFFDIPQPETJNQMFFDIPEFMFUFEϑΝΠϧΛͬͯআՄೳLVCFDUMEFMFUFGSFTPVSDFTJNQMFFDIPZBNMQPETJNQMFFDIPEFMFUFE
1PEͰͷଞͷίϯςφͷࢀর,VCFSOFUFTͰ1PEʹ*1ΞυϨε͕ৼΒΕΔʢ$MVTUFS*1ʣ1PE͕ࣗͭͷԾϚγϯͷΑ͏ͳͷFDIPίϯςφͷϙʔτɺOHJOY͔ΒMPDBMIPTUͱݟ͑Δ
3FQMJDBTUͱ%FQMPZNFOU
3FQMJDB4FU‣ 1PE໊ΫϥελͰϢχʔΫɻಉ໊ͷ1PE࡞Ͱ͖ͳ͍‣ TJNQMFFDIPΛෳ͢Δ߹ɺTJNQMFFDIPͷΑ͏ͳ໊લͰ࡞͠ͳ͍ͱ͍͚ͳ͍‣ ࡞Γ͍͚ͨͩͷ1PEͷϚχϑΣετΛ༻ҙ͢Δͷ໘1PEͷෳΛαϙʔτ͢Δ3FQMJDB4FUΛ͏
3FQMJDB4FUͷϚχϑΣετϑΝΠϧBQJ7FSTJPOBQQTWLJOE3FQMJDB4FUNFUBEBUBOBNFTJNQMFFDIPMBCFMTBQQFDIPTQFDSFQMJDBTTFMFDUPSNBUDI-BCFMTBQQFDIPUFNQMBUFNFUBEBUBMBCFMTBQQFDIPTQFDDPOUBJOFSTOBNFOHJOYJNBHFHJIZPEPDLFSOHJOYMBUFTUFOWOBNF#"$,&/%@)045WBMVFMPDBMIPTUQPSUTDPOUBJOFS1PSUOBNFFDIPJNBHFHJIZPEPDLFSFDIPMBUFTUQPSUTDPOUBJOFS1PSUҙͷMBCFMTΛ͚ͭΒΕΔϦιʔεͷϑΟϧλϦϯάʹ༗༻UFNQMBUFҎԼ1PEϦιʔεʹ͓͚Δఆٛͱಉ͡
3FQMJDB4FUͷ࡞3FQMJDB4FUͷ࡞LVCFDUMBQQMZGSFTPVSDFTJNQMFFDIPSTZBNMSFQMJDBTFUBQQTTJNQMFFDIPDSFBUFE࡞ͨ͠3FQMJDB4FU 1PEͷ֬ೝLVCFDUMHFUST QPETFMFDUPSBQQFDIP/".&%&4*3&%$633&/53&"%:"(&SFQMJDBTFUFYUFOTJPOTTJNQMFFDIPN/".&3&"%:45"5643&45"354"(&QPETJNQMFFDIPGCQ3VOOJOHNQPETJNQMFFDIPGNOXM3VOOJOHNQPETJNQMFFDIPSKOE3VOOJOHN
3FQMJDB4FUͷআ3FQMJDB4FUͷআLVCFDUMEFMFUFGSFTPVSDFTJNQMFFDIPSTZBNMSFQMJDBTFUBQQTTJNQMFFDIPEFMFUFEআͨ͠Ϧιʔεͷ֬ೝʢ3FQMJDB4FUɺ1PEͱʹআ͞Ε͍ͯΔʣLVCFDUMHFUST QPETFMFDUPSBQQFDIP/PSFTPVSDFTGPVOE
%FQMPZNFOU‣ ҰݴͰ͍͏ͱ3FQMJDB4FUͷ্Ґޓ‣ 3FQMJDB4FU1PEͷෳ͚ͩΛ୲͏͕ɺ%FQMPZNFOU3FQMJDB4FUͷੈཧ·ͰΛ୲͏‣ ࣮ӡ༻Ͱ3FQMJDB4FUΛѻ͏͜ͱগͳ͍
%FQMPZNFOUͷ࡞%FQMPZNFOUͷ࡞LVCFDUMBQQMZGSFTPVSDFTJNQMFFDIPEFQMPZNFOUZBNMEFQMPZNFOUBQQTTJNQMFFDIPDSFBUFE࡞ͨ͠%FQMPZNFOU 3FQMJDB4FU 1PEͷ֬ೝLVCFDUMHFUEFQMPZ ST QPETFMFDUPSBQQFDIP/".&%&4*3&%$633&/56150%"5&"7"*-"#-&"(&EFQMPZNFOUFYUFOTJPOTTJNQMFFDIPT/".&%&4*3&%$633&/53&"%:"(&SFQMJDBTFUFYUFOTJPOTTJNQMFFDIPEECGCT/".&3&"%:45"5643&45"354"(&QPETJNQMFFDIPEECGCHKY3VOOJOHTQPETJNQMFFDIPEECGCE[G3VOOJOHTQPETJNQMFFDIPEECGCRHU⒎3VOOJOHT
%FQMPZNFOUͷআ%FQMPZNFOUͷ࡞LVCFDUMEFMFUFGSFTPVSDFTJNQMFFDIPEFQMPZNFOUZBNMEFQMPZNFOUBQQTTJNQMFFDIPDSFBUFEআͨ͠%FQMPZNFOU 3FQMJDB4FU 1PEͷ֬ೝLVCFDUMHFUEFQMPZ ST QPETFMFDUPSBQQFDIP/PSFTPVSDFTGPVOE
4FSWJDF
4FSWJDF‣ 1PEͷू߹ʹର͢ΔϧʔςΟϯάαʔϏεσΟεΧόϦػೳΛఏڙ͢ΔϦιʔε‣ ಉ͡छྨͷෳ1PEʹର͠ɺτϥϑΟοΫΛྲྀͨ͢Ίͷϩʔυόϥϯαʔͱͯ͠ͷػೳ࣋ͭ‣ 4FSWJDF͔ΒͷτϥϑΟοΫͷసૹɺઃఆ͞ΕͨTFMFDUPSTͷϥϕϧͷʹΑܾͬͯఆ͞ΕΔ‣ ,VCFSOFUFTΫϥελ෦Ͱɺ4FSWJDFͷ໊લͰ4FSWJDFʹ໊લղܾͰ͖Δ
4FSWJDF͔Β1PEͷݟ͚ͭํ
σΟεΧόϦͷ࣮ݧछྨͷ%FQMPZNFOUΛ࡞LVCFDUMBQQMZGSFTPVSDFTJNQMFFDIPEFQMPZNFOUTQSJOHZBNMLVCFDUMBQQMZGSFTPVSDFTJNQMFFDIPEFQMPZNFOUTVNNFSZBNM࡞ͨ͠%FQMPZNFOUͷ֬ೝLVCFDUMHFUEFQMPZTFMFDUPSBQQFDIP/".&%&4*3&%$633&/56150%"5&"7"*-"#-&"(&TJNQMFFDIPTQSJOHNTJNQMFFDIPTVNNFSN
4FSWJDFͷ࡞4FSWJDFΛ࡞LVCFDUMBQQMZGSFTPVSDFTJNQMFFDIPTFSWJDFZBNMTFSWJDFTJNQMFFDIPDSFBUFE࡞ͨ͠4FSWJDFͷ֬ೝLVCFDUMHFUTWDTFMFDUPSBQQFDIP/".&5:1&$-645&3*1&95&3/"-*11035 4"(&TJNQMFFDIP$MVTUFS*1OPOF5$1N
σόοά༻1PE͔Β֬ೝσόοά༻ίϯςφLVCFDUMSVOJSNUUZEFCVHJNBHFHJIZPEPDLFSGVOEBNFOUBMSFTUBSU/FWFSCBTIJMEFCVH࡞ͨ͠4FSWJDFʹରͯ͠)5513FRVFTUEFCVHDVSMIUUQTJNQMFFDIP)FMMP%PDLFSLVCFDUMMPHTGTJNQMFFDIPTQSJOHGCCDUDDFDIPTUBSUTFSWFSSFDFJWFESFRVFTULVCFDUMMPHTGTJNQMFFDIPTVNNFSHWWDFDIPTUBSUTFSWFS˞ϦΫΤετ͕དྷΔͷTQSJOH͚ͩ
SFMFBTFϥϕϧΛม͑ΔBQJ7FSTJPOWLJOE4FSWJDFNFUBEBUBOBNFTJNQMFFDIPMBCFMTBQQFDIPTQFDTFMFDUPSBQQFDIPSFMFBTFTVNNFSQPSUTOBNFIUUQQPSUTQSJOH͔ΒTVNNFSʹม͑Δ
4FSWJDFͷมߋ4FSWJDFͷมߋLVCFDUMBQQMZGSFTPVSDFTJNQMFFDIPTFSWJDFZBNMTFSWJDFTJNQMFFDIPDPOpHVSFE࠶ͼσόοάίϯςφ͔Β)5513FRVFTUEFCVHDVSMIUUQTJNQMFFDIPࠓTVNNFSͷํʹϦΫΤετ͕དྷΔLVCFDUMMPHTGTJNQMFFDIPTVNNFSHWWDFDIPTUBSUTFSWFSSFDFJWFESFRVFTU
*OHSFTT
*OHSFTT‣ 4FSWJDF1PEͷϧʔςΟϯάΛ੍ޚ͢ΔΈ‣ جຊతʹ4FSWJDFΫϥελͷ֎͔ΒΞΫηεͰ͖ͳ͍‣ ˞UZQF/PEF1PSUྫ֎‣ 4FSWJDFΛΫϥελͷ֎ʹެ։͢ΔϦιʔε͕*OHSFTT
JOHSFTTOHJOYಋೖLVCFDUMBQQMZGIUUQTSBXHJUIVCVTFSDPOUFOUDPNLVCFSOFUFTJOHSFTTOHJOYOHJOYEFQMPZNBOEBUPSZZBNMLVCFDUMBQQMZGIUUQTSBXHJUIVCVTFSDPOUFOUDPNLVCFSOFUFTJOHSFTTOHJOYOHJOYEFQMPZQSPWJEFSDMPVEHFOFSJDZBNM
*OHSFTTͷϚχϑΣετBQJ7FSTJPOFYUFOTJPOTWCFUBLJOE*OHSFTTNFUBEBUBOBNFTJNQMFFDIPMBCFMTBQQFDIPTQFDSVMFTIPTUFDIPHJIZPMPDBMIUUQQBUITQBUICBDLFOETFSWJDF/BNFTJNQMFFDIPTFSWJDF1PSUϦΫΤετΛड͚ΔυϝΠϯόοΫΤϯυͷઃఆ
*OHSFTT࡞ͱ)5513FRVFTU*OHSFTTΛ࡞LVCFDUMBQQMZGSFTPVSDFTJNQMFFDIPJOHSFTTZBNMJOHSFTTFYUFOTJPOTTJNQMFFDIPDSFBUFE࡞ͨ͠*OHSFTTΛ֬ೝLVCFDUMHFUJOHMBQQFDIP/".&)0454"%%3&4410354"(&TJNQMFFDIPFDIPHJIZPMPDBMMPDBMIPTUNΫϥελ֎ʢϩʔΧϧʣ͔Βɺެ։͍ͯ͠Δ*OHSFTTʹରͯ͠ϦΫΤετΛૹΔɹDVSMIUUQMPDBMIPTU))PTUFDIPHJIZPMPDBM
*OHSFTTͱ&YUFSOBM%/4‣ ύϒϦοΫΫϥυ্Ͱ&YUFSOBM%/4ͱ࿈ܞ͢Δ͜ͱͰɺ(PPHMF$MPVE%/4"843PVUFʹࣗಈͰ%/4ϨίʔυΛՃͰ͖Δ‣ IUUQTHJUIVCDPNLVCFSOFUFTJODVCBUPSFYUFSOBMEOT
8FCΞϓϦέʔγϣϯͷجຊతͳྲྀΕ‣ ΞϓϦέʔγϣϯΛίϯςφԽ͢Δ‣ %FQMPZNFOUΛͭ͘Δ‣ ΞϓϦέʔγϣϯͷڍಈڥมͰ‣ ඞཁʹԠͯ͡$POGJH.BQ‣ 4FSWJDFΛͭ͘Δ‣ *OHSFTTΛͭ͘Δ
ʢࢀߟʣ࣮ફతͳ8FCΞϓϦέʔγϣϯͷߏ
ٳܜLVCFDUMEFMFUFGSFTPVSDFTJNQMFFDIPJOHSFTTZBNMLVCFDUMEFMFUFGSFTPVSDFTJNQMFFDIPTFSWJDFZBNMLVCFDUMEFMFUFGSFTPVSDFTJNQMFFDIPEFQMPZNFOUTVNNFSZBNMLVCFDUMEFMFUFGSFTPVSDFTJNQMFFDIPEFQMPZNFOUTQSJOHZBNMٳܜऴΘΔ·ͰʹϦιʔεফ͓͍͍ͯͯͩ͘͠͞
)FMNͰΞϓϦέʔγϣϯΛύοέʔδϯά͢Δ
8FCΞϓϦʹඞཁͳϦιʔε%FQMPZNFOU*OHSFTT4FSWJDF4FSWJDFͷΫϥελ֎ͷެ։1PEͷϧʔςΟϯάɺαʔϏεσΟεΧόϦ3FQMJDB4FUੈཧɺ1PEͷੜ3FQMJDB4FU 1PE
͜Ε͚ͩͷϚχϑΣετϑΝΠϧ͕ඞཁJOHSFTTZBNM TFSWJDFZBNM EFQMPZNFOUZBNM
͠ෳڥ͋Δ߹ʁEFQMPZNFOUZBNMTFSWJDFZBNMJOHSFTTZBNMEFWFMPQNFOUTUBHJOHQSPEVDUJPOEFQMPZNFOUZBNMTFSWJDFZBNMJOHSFTTZBNMEFQMPZNFOUZBNMTFSWJDFZBNMJOHSFTTZBNM
ॏෳͷଟ͍ϚχϑΣετΛෳ༻ҙ͢Δ͜ͱʹͳΔҧ͏ͷ*OHSFTTͷυϝΠϯ%FQMPZNFOUͷڥม͚ͩͩͬͨΓɾɾɾ
ϚχϑΣετͷύοέʔδͷΈ͕ඞཁ
)FMNͱ‣ ,VCFSOFUFTͷύοέʔδϚωʔδϟ‣ ϚχϑΣετϑΝΠϧςϯϓϨʔτΛ$IBSUͰύοέʔδϯάɹ
)FMNηοτΞοϓ)PNFCSFXͳΒCSFXJOTUBMMLVCFSOFUFTIFMNόΠφϦμϯϩʔυͳΒIUUQTHJUIVCDPNIFMNIFMNSFMFBTFTUBHWIFMNॳظԽʢ5JMMFSͱ͍͏1PE͕σϓϩΠ͞ΕΔʣIFMNJOJUXBJUIFMN֬ೝIFMNWFSTJPO$MJFOUWFSTJPO7FSTJPO\4FN7FSW (JU$PNNJUzBDz (JU5SFF4UBUFDMFBO^4FSWFSWFSTJPO7FSTJPO\4FN7FSW (JU$PNNJUzBDz (JU5SFF4UBUFDMFBO^
$IBSUͷݕࡧ$IBSUͷϦϙδτϦ֬ೝIFMNSFQPMJTU/".&63-TUBCMFIUUQTLVCFSOFUFTDIBSUTTUPSBHFHPPHMFBQJTDPNMPDBMIUUQDIBSUTϦϙδτϦ͔Βదʹ$IBSUݕࡧIFMNTFBSDISFENJOF/".&$)"357&34*0/"117&34*0/%&4$3*15*0/TUBCMFSFENJOF"qFYJCMFQSPKFDUNBOBHFNFOUXFCBQQMJDBUJPO
HJUIVCDPNIFMNDIBSUT
$IBSUͷߏUSFFᵓᴷᴷ$IBSUZBNMᵓᴷᴷ08/&34ᵓᴷᴷ3&"%.&NEᵓᴷᴷSFRVJSFNFOUTMPDLᵓᴷᴷSFRVJSFNFOUTZBNMᵓᴷᴷUFNQMBUFTᴹᵓᴷᴷ/05&4UYUᴹᵓᴷᴷ@IFMQFSTUQMᴹᵓᴷᴷEFQMPZNFOUZBNMᴹᵓᴷᴷJOHSFTTZBNMᴹᵓᴷᴷQECZBNMᴹᵓᴷᴷQWDZBNMᴹᵓᴷᴷTFDSFUTZBNMᴹᵋᴷᴷTWDZBNMᵋᴷᴷWBMVFTZBNM σϑΥϧτWBMVFϑΝΠϧ
σϑΥϧτ্ॻ͖༻ͷZBNMSFENJOF6TFSOBNFHJIPOSFENJOF1BTTXPSEHJIPOSFENJOF-BOHVBHFKBJOHSFTTFOBCMFEUSVFIPTUTOBNFSFENJOFIBOETPOMPDBMUMTGBMTF*OHSFTT༗ޮԽ*OHSFTTͷ)PTU
SFENJOFσϓϩΠσϑΥϧτΛ্ॻ͖ͯ͠σϓϩΠIFMNJOTUBMMGIFMNSFENJOFSFENJOFWBMVFTZBNMOBNFSFENJOFTUBCMFSFENJOFIFMNͰ࡞ΒΕͨϦιʔεΛ֬ೝLVCFDUMHFUJOH TWD QPEMSFMFBTFSFENJOF/".&)0454"%%3&4410354"(&JOHSFTTFYUFOTJPOTSFENJOFIBOETPOMPDBMSFENJOFSFENJOFIBOETPOMPDBMMPDBMIPTUN/".&5:1&$-645&3*1&95&3/"-*11035 4"(&TFSWJDFSFENJOFNBSJBEC$MVTUFS*1OPOF5$1NTFSWJDFSFENJOFSFENJOF-PBE#BMBODFSQFOEJOH5$1N/".&3&"%:45"5643&45"354"(&QPESFENJOFNBSJBEC3VOOJOHNQPESFENJOFSFENJOFCEYG[W3VOOJOHN
SFENJOFʹΞΫηεIPTUTͰ*OHSFTTʹઃఆͨ͠υϝΠϯΛՃTVEPWJNFUDIPTUTSFENJOFIBOETPOMPDBM
SFENJOFఫڈIFMNͰEFQMPZͨ͠ϦϦʔεҰཡIFMNMT/".&3&7*4*0/61%"5&%45"564$)"35"117&34*0//".&41"$&SFENJOF.PO%FD%&1-0:&%SFENJOFEFGBVMUIPTUTͰ*OHSFTTʹઃఆͨ͠υϝΠϯΛՃIFMNEFMQVSHFSFENJOFSFMFBTFSFENJOFEFMFUFE
ΧελϜ$IBSU
ΧελϜ$IBSUͷ࡞‣ IFMNDSFBUFDIBSU໊Ͱ$IBSUͷςϯϓϨʔτΛ࡞Ͱ͖Δ‣ EFQMPZNFOUZBNM TFSWJDFZBNM JOHSFTTZBNMσϑΥϧτͰ༻ҙ͞ΕͯΔ‣ σϑΥϧτWBMVFϑΝΠϧσϑΥϧτͰ࡞͞ΕΔ‣ TJNQMFFDIPͷ$IBSUΛ༻ҙͨ͠‣ LVCFSOFUFTIBOETPOIFMNTJNQMFFDIP
WBMVFTZBNMΛ্ॻ͖ͯ͠ΈΑ͏‣ ՝ɿ1PEΛͭىಈͯ͠ΈΔ‣ ՝ɿ*OHSFTTΛ༗ޮʹ͠ɺదͳυϝΠϯΛͯͯΈΔɹIFMNJOTUBMMG্ॻ͖༻ͷZBNMͷύεOBNFϦϦʔε໊IFMNTJNQMFFDIP
ղSFQMJDB$PVOUJOHSFTTFOBCMFEUSVFQBUITIPTUTIPHFIBOETPOMPDBMIFMNJOTUBMMGIPHFZBNMOBNFIPHFIFMNTJNQMFFDIP
)FMNίπ‣ TUBCMFʹ͋Δ$IBSUσϑΥϧτWBMVFϑΝΠϧΛݟΕɺΧελϚΠζͷϙΠϯτ͕Θ͔Δ‣ ಈ͖Λਂ۷Γ͚ͨΕςϯϓϨʔτݟΔ‣ ͓٬༷͕ඞཁͳιϑτΣΞ͍͍ͨͯ4UBCMFʹ͋Γ·͢Αʁ‣ ,VCFSOFUFT্ʹ)FMNΛͬͯߏங͢ΔͱָͰ͢Ͷ‣ ΧελϜ$IBSUςϯϓϨʔτʹཔΔ‣ ϙʔλϏϦςΟΛߴΊΔͨΊʹɺςϯϓϨʔτύϥϝʔλͷຒΊࠐΈɺσϑΥϧτWBMVFΛඋ͢Δ‣ IFMNMJOU׆༻͠Α͏
TLBGGPMEͰ͍͍ײ͡ʹ։ൃΛճͯ͠ΈΔ
,VCFSOFUFTͷ։ൃΛճ͢جຊϑϩʔ‣ ίʔυΛॻ͘‣ %PDLFSΠϝʔδϏϧυ‣ $*·Θ͢PSϩʔΧϧϏϧυ‣ %FQMPZNFOUߋ৽‣ ৽͍͠1PEʹϩʔϦϯάΞοϓσʔτͦͦ͜͜μϧ͍τϥΠΞϯυΤϥʔ͕໘ɹ
ίʔυΛͨ͠Β1PE͕࠶σϓϩΠ͞Εͯ΄͍͠
4LBGGPMEͱ‣ IUUQTHJUIVCDPN(PPHMF$POUBJOFS5PPMTTLBGGPME‣ CSFXJOTUBMMTLBGGPME‣ (PPHMFۘ‣ ,VCFSOFUFTΞϓϦέʔγϣϯͷϏϧυɾσϓϩΠͱ͍ͬͨ܁Γฦ͠ߦΘΕΔجຊϫʔΫϑϩʔΛαϙʔτ͢ΔͨΊͷπʔϧ‣ ,VTUPNJ[F )FMN #B[FM +JC %PDLFS$PNQPTFͱ࿈ܞՄೳ
ଟ͘ͷϢʔεέʔεʹରԠʂ*OHSFTT༗ޮԽࠓճ,VTUPNJ[FΛࢼ͠·͢
,VTUPNJ[F‣ ϚχϑΣετϑΝΠϧΛύοέʔδϯά͢ΔͨΊͷπʔϧ‣ )FMNͱͷҧ͍ɹ‣ )FMNΫϥελʹ5JMMFS͕ඞཁͰɺIFMNίϚϯυΛͬͯσϓϩΠ͢Δ‣ ,VTUPNJ[FɺϚχϑΣετϑΝΠϧ܈ͷܗΛ࡞Δ͜ͱ͚͕ͩతɻσϓϩΠLVCFDUMBQQMZΛͬͯߦ͏‣ LVCFDUMʹऔΓࠐ·ΕΔʢ༧ఆͩͬͨʣ‣ ݄ʹϚʔδ‣ ݄ʹSFWFSU͞ΕΔ͆͆͆‣ LVCFDUMʹೖΕΔͷͪΐͬͱҧ͏ΑͶ
TLBGGPMELVTUPNJ[FLVTUPNJ[BUJPOZBNM‣ ϚχϑΣετ܈ΛͲͷΑ͏ʹߏ͠ɺύοέʔδ͢Δ͔Λఆٛ͢ΔϑΝΠϧ‣ ؆୯ʹݴ͏ͱɺϚχϑΣετΛ্ॻ͖ͯ͠ɺผͷϚχϑΣετΛ࡞Δ‣ %FQMPZNFOU 4FSWJDF *OHSFTTΛ·ͱΊͨͭͷϑΝΠϧΛ࡞ΓɺLVCFDUMʹ৯ΘͤΔSFTPVSDFTEFQMPZNFOUZBNMQBUDIFTQBUDIZBNM
TLBGGPMELVTUPNJ[FEFQMPZNFOUZBNMBQJ7FSTJPOBQQTWLJOE%FQMPZNFOUNFUBEBUBOBNFLVTUPNJ[FUFTUMBCFMTBQQLVTUPNJ[FUFTUTQFDSFQMJDBTTFMFDUPSNBUDI-BCFMTBQQLVTUPNJ[FUFTUUFNQMBUFNFUBEBUBMBCFMTBQQLVTUPNJ[FUFTUTQFDDPOUBJOFSTOBNFLVTUPNJ[FUFTUJNBHFHDSJPLTTLB⒎PMEOPUBWBMJEJNBHF˞IFMNͱҧ͍ɺςϯϓϨʔτͰͳ͍ଘࡏ͠ͳ͍దͳΠϝʔδΛࢦఆ
TLBGGPMELVTUPNJ[FQBUDIZBNMBQJ7FSTJPOBQQTWLJOE%FQMPZNFOUNFUBEBUBOBNFLVTUPNJ[FUFTUTQFDUFNQMBUFTQFDDPOUBJOFSTOBNFLVTUPNJ[FUFTUJNBHFJOEFYEPDLFSJPMJCSBSZCVTZCPYDPNNBOETMFFQ˞ͭલͷEFQMPZNFOUZBNMΛ্ॻ͖͢ΔͨΊͷϚχϑΣετ͜ͷϑΝΠϧࣗମϚχϑΣετϑΝΠϧͱཱͯ͜͜͠ͷ༰Ͱ্ॻ͖͞ΕΔɹ
LVTUPNJ[FͰϚχϑΣετ࡞ϚχϑΣετϑΝΠϧΛߏஙLVTUPNJ[FCVJMETLB⒎PMELVTUPNJ[FBQJ7FSTJPOBQQTWLJOE%FQMPZNFOUNFUBEBUBMBCFMTBQQLVTUPNJ[FUFTUOBNFLVTUPNJ[FUFTUTQFDSFQMJDBTTFMFDUPSNBUDI-BCFMTBQQLVTUPNJ[FUFTUUFNQMBUFNFUBEBUBMBCFMTBQQLVTUPNJ[FUFTUTQFDDPOUBJOFSTDPNNBOETMFFQ
LVTUPNJ[FLVCFDUMϚχϑΣετΛߏஙͯ͠ඪ४ग़ྗʹදࣔLVTUPNJ[FCVJMETLB⒎PMELVTUPNJ[FBQJ7FSTJPOBQQTWLJOE%FQMPZNFOUNFUBEBUBMBCFMTBQQLVTUPNJ[FUFTUҰؾʹσϓϩΠLVTUPNJ[FCVJMETLB⒎PMELVTUPNJ[FcLVCFDUMBQQMZGEFQMPZNFOUBQQTLVTUPNJ[FUFTUDSFBUFEҰؾʹআLVTUPNJ[FCVJMETLB⒎PMELVTUPNJ[FcLVCFDUMEFMFUFG
LVTUPNJ[FͱTLBGGPMEΈ߹ΘͤEFWίϚϯυͰɺσϓϩΠͱมߋݕͷػTLB⒎PMEEFW4UBSUJOHCVJME'PVOEDPOUFYU VTJOHMPDBMEPDLFSEBFNPO#VJMEDPNQMFUFJOT4UBSUJOHUFTU5FTUDPNQMFUFJOT4UBSUJOHEFQMPZEFQMPZNFOUBQQTLVTUPNJ[FUFTUDSFBUFE%FQMPZDPNQMFUFJONT8BUDIJOHGPSDIBOHFTFWFSZT͜ͷঢ়ଶͰϚχϑΣετϑΝΠϧΛมߋͯ͠ΈΑ͏
ͦͷଞϢʔεέʔεɺศརπʔϧհ
1PEͷΦʔτεέʔϧͬͯͲ͏͢Δͷ)PSJ[POBM1PE"VUPTDBMFS )1"
)PSJ[POBM1PE"VUPTDBMFS )1"‣ 1PEͷϦιʔε༻ʹԠͯ͡ɺ1PEΛࣗಈͰ૿ݮͤ͞ΔϦιʔε‣ ࣮ӡ༻ͰSFQMJDB$PVOUͰͳ͘ɺ)1"Λઃఆ͢Δ‣ $16.FNPSZ༻ͷᮢʹΑͬͯɺ1PE૿ݮͷΠϕϯτ͕ൃੜ
)1"ͷϚχϑΣετapiVersion: autoscaling/v2beta1kind: HorizontalPodAutoscalermetadata:name: echospec:scaleTargetRef:apiVersion: apps/v1kind: Deploymentname: echominReplicas: 1maxReplicas: 3metrics:- type: Resourceresource:name: cputargetAverageUtilization: 40
ϊʔυ͕Γͳ͍߹Ͳ͏͢Δʁ,VCFSOFUFT"VUPTDBMFS
,VCFSOFUFT"VUPTDBMFS‣ IUUQTHJUIVCDPNLVCFSOFUFTBVUPTDBMFS‣ ඞཁͳͷ1PEΛஔͰ͖Δ͚ͩͷϚγϯϦιʔε͕ແ͍߹ʹɺϊʔυΛ૿͢Έ‣ ϚωʔδυͰجຊతʹඪ४ରԠ‣ ඇϚωʔδυͰ)FMNͰೖΕ·͠ΐ͏‣ IFMNJOTUBMMOBNFTQBDFLVCFTZTUFNOBNFDMVTUFSBVUPTDBMFSTUBCMFDMVTUFSBVUPTDBMFS‣ "84ͩͱ"VUP4DBMJOH(SPVQͷ3BUF-JNJUى͘͜͢͠ͳΔͷͰҙ
TUFSO‣ ίϚϯυϥΠϯͰ1PEͷϩάΛUBJMͰ͖Δπʔϧ‣ IUUQTHJUIVCDPNXFSDLFSTUFSO‣ ϥϕϧʹҰகͨ͠1PEͷϩάΛӾཡͰ͖Δ
LBOJLP‣ ,VCFSOFUFTΫϥελͰ%PDLFSΠϝʔδΛϏϧυ͢ΔͨΊͷπʔϧ‣ IUUQTHJUIVCDPN(PPHMF$POUBJOFS5PPMTLBOJLP‣ %PDLFS%BFNPOແ͠ͰϏϧυͰ͖Δ
ͦͷଞࡉ͔͍ͷ‣ LVCFDUY‣ IUUQTHJUIVCDPNBINFUCLVCFDUY‣ ૢ࡞ରͷΫϥελΛΓସ͑͘͢͢Δπʔϧ‣ LVCFQSPNQU‣ IUUQTHJUIVCDPNDCBUBLVCFQSPNQU‣ ΦʔτίϯϓϦʔτͰ͖ΔLVCFDUMతͳ
༧උ࣌ؒɾ࣭ٙλΠϜ