Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Kubernetes Handson Osaka
Search
stormcat24
January 31, 2019
Programming
5
550
Kubernetes Handson Osaka
Docker/Kubernetes 実践コンテナ開発入門 Japan Tour 2019 in Osaka
stormcat24
January 31, 2019
Tweet
Share
More Decks by stormcat24
See All by stormcat24
素早く賢く失敗するDeveloper Productivityの実現を目指して
stormcat24
4
4.7k
KubernetesのマニフェストをそれなりにCIしたい
stormcat24
4
1.3k
令和時代のSaaS開発
stormcat24
1
250
History in 5 years of CircleCI and CyberAgent
stormcat24
3
810
Kubernetes Handson
stormcat24
5
4.2k
DockerとKubernetesでアプリケーション開発にコンテナをフル活用!
stormcat24
0
290
Base Image Journey 2018
stormcat24
29
130k
kotlin-fest
stormcat24
13
17k
Kotlin/Native
stormcat24
0
970
Other Decks in Programming
See All in Programming
Amazon S3 NYJavaSIG 2024-12-12
sullis
0
100
CQRS+ES の力を使って効果を感じる / Feel the effects of using the power of CQRS+ES
seike460
PRO
0
130
【re:Growth 2024】 Aurora DSQL をちゃんと話します!
maroon1st
0
780
責務を分離するための例外設計 - PHPカンファレンス 2024
kajitack
6
890
Scalaから始めるOpenFeature入門 / Scalaわいわい勉強会 #4
arthur1
1
330
testcontainers のススメ
sgash708
1
120
Refactor your code - refactor yourself
xosofox
1
260
From Translations to Multi Dimension Entities
alexanderschranz
2
130
なまけものオバケたち -PHP 8.4 に入った新機能の紹介-
tanakahisateru
1
120
Effective Signals in Angular 19+: Rules and Helpers
manfredsteyer
PRO
0
100
モバイルアプリにおける自動テストの導入戦略
ostk0069
0
110
20年もののレガシープロダクトに 0からPHPStanを入れるまで / phpcon2024
hirobe1999
0
480
Featured
See All Featured
Building Adaptive Systems
keathley
38
2.3k
For a Future-Friendly Web
brad_frost
175
9.4k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
111
49k
Designing for humans not robots
tammielis
250
25k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
247
1.3M
Making Projects Easy
brettharned
116
5.9k
Mobile First: as difficult as doing things right
swwweet
222
9k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
2
170
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
26
1.9k
Navigating Team Friction
lara
183
15k
Building a Scalable Design System with Sketch
lauravandoore
460
33k
Transcript
Kubernetes Handson - Docker/Kubernetes ࣮ફίϯςφ։ൃೖ Japan Tour 2019 in Osaka-
2019.01.30 - 01.31
XIPJT ‣ "LJOPSJ:BNBEB ‣ $ZCFS"HFOU ‣ '3&4)-*7& ‣ 0QFO4BB44UVEJP5FDI-FBE TUPSNDBU
εϥΠυͷݟग़͠ʹ ͕͍͍ͭͯΔͱ͜Ζ࣮ࡍʹ օ͞ΜʹखΛಈ͔ͯ͠Β͏ͱ͜ΖͰ͢
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%/4JTSVOOJOHBUIUUQTMPDBMIPTUBQJWOBNFTQBDFTLVCFTZTUFN TFSWJDFTLVCFEOTEOTQSPYZ 5PGVSUIFSEFCVHBOEEJBHOPTFDMVTUFSQSPCMFNT
VTFLVCFDUMDMVTUFSJOGPEVNQ
%BTICPBSEͷσϓϩΠ ‣ Ϋϥελͷঢ়ଶΛݟΔͨΊͷ8FC6*πʔϧ %BTICPBSEΛσϓϩΠ LVCFDUMBQQMZGIUUQTSBXHJUIVCVTFSDPOUFOUDPNLVCFSOFUFTEBTICPBSE WTSDEFQMPZSFDPNNFOEFELVCFSOFUFTEBTICPBSEZBNM LVCFDUMOLVCFTZTUFNHFUQPEMLTBQQLVCFSOFUFTEBTICPBSE /".&3&"%:45"5643&45"354"(& LVCFSOFUFTEBTICPBSEGCCEYOK3VOOJOHI
%BTICPBSEϩάΠϯ༻Ϣʔβʔ࡞ ϩάΠϯ༻Ϣʔβʔ࡞ LVCFDUMBQQMZGIUUQTSBXHJUIVCVTFSDPOUFOUDPNTUPSNDBULVCFSOFUFT IBOETPONBTUFSTFUVQBENJOVTFSZBNM ΞΫηετʔΫϯͷදࣔ LVCFDUMOLVCFTZTUFNEFTDSJCFTFDSFU LVCFDUMOLVCFTZTUFNHFUTFDSFUc HSFQBENJOVTFScBXL\QSJOU^ %BUB
DBDSUCZUFT OBNFTQBDFCZUFT UPLFOFZ+IC(DJ0J+46[*/J*T*NUQ;$**J+FZʜʜ
QSPYZΛ࣮ߦ ‣ LVCFDUMQSPYZͰQSPYZΛ࣮ߦ ‣ ϑΥΞάϥϯυͰ࣮ߦ͞ΕΔ ‣ IUUQMPDBMIPTUBQJWOBNFTQBDFTLVCFTZTUFNTFSWJDFT IUUQTLVCFSOFUFTEBTICPBSEQSPYZ
τʔΫϯΛͬͯϩάΠϯ
%BTICPBSEදࣔ
,VCFSOFUFTͷجຊతͳϦιʔε ΞϓϦέʔγϣϯͷσϓϩΠ
,VCFSOFUFTͷ جຊ֓೦ɹ
ίϯςφΦʔέετϨʔγϣϯπʔϧͷҰͭ
ΦʔέετϨʔγϣϯͷ౷͢Δ.BTUFS
,VCFSOFUFTͰ ίϯςφΦʔέετϨʔγϣϯٕज़Λ࣮ݱ͢ΔͨΊͷ ༷ʑͳϦιʔεʢ෦ʣΛΈ߹Θͤͯ ΞϓϦέʔγϣϯΛ࣮ߦ͢Δ
,VCFSOFUFTͷϦιʔε %FQMPZNFOU /BNFTQBDF 4FSWJDF *OHSFTT $POGJH.BQ %BFNPO4FU 4UBUFGVM4FU +PC 1PE
3FQMJDB4FU +PC $SPO+PC ˞΄ΜͷҰ෦Ͱ͢
1PE
1PE ‣ ίϯςφͷू߹ମͷ୯ҐͰɺগͳ͘ͱͭͷίϯςφΛ࣋ͭ ‣ ίϯςφಉ͕࢜ີ݁߹Ͱ͋Δํ͕߹͕ྑ͍߹ɺ1PEͱͯ͠ ෳछίϯςφΛ·ͱΊͯσϓϩΠ͢Δ ‣ ,VCFSOFUFTͰίϯςφ୯ҐͰͳ͘ɺ1PE୯ҐͰσϓϩΠ͞ ΕΔ
1PEͷஔΠϝʔδ
/PEFލ͗/(
1PEΛ࡞ ‣ OHJOYͱFDIPΛฦ͢ΞϓϦέʔγϣϯ͔ΒΔ1PE ‣ LVCFSOFUFTIBOETPOSFTPVSDFTJNQMFFDIPZBNM ‣ ϚχϑΣετϑΝΠϧͱݺΕΔ,VCFSOFUFTͷϦιʔεఆٛΛLVCFDUMͰ ద༻͢Δ͜ͱͰɺϦιʔεͷ࡞ɾमਖ਼Λߦ͏
1PEͷϚχϑΣετϑΝΠϧ BQJ7FSTJPOW LJOE1PE NFUBEBUB OBNFTJNQMFFDIP TQFD DPOUBJOFST OBNFOHJOY JNBHFHJIZPEPDLFSOHJOYQSPYZMBUFTU FOW
OBNF#"$,&/%@)045 WBMVFMPDBMIPTU QPSUT DPOUBJOFS1PSU OBNFFDIP JNBHFHJIZPEPDLFSFDIPMBUFTU QPSUT DPOUBJOFS1PSU
1PEΛ࡞ 1PEͷ࡞ LVCFDUMBQQMZGSFTPVSDFTJNQMFFDIPZBNM QPETJNQMFFDIPDSFBUFE ࡞ͨ͠1PEͷ֬ೝ LVCFDUMHFUQPE /".&3&"%:45"5643&45"354"(& TJNQMFFDIP3VOOJOHN
1PEͷૢ࡞ FDIPίϯςφͷϩάʢඪ४ग़ྗʣͷ֬ೝ LVCFDUMMPHTGTJNQMFFDIPDFDIP TUBSUTFSWFS OHJOYίϯςφʹ44)ϩάΠϯͬΆ͍͜ͱΛ͢ΔʢTIͷ࣮ߦʣ LVCFDUMFYFDJUTJNQMFFDIPTIDOHJOY QMFBTFJOQVU 1PEΛআ
LVCFDUMEFMFUFQPETJNQMFFDIP QPETJNQMFFDIPEFMFUFE ϑΝΠϧΛͬͯআՄೳ LVCFDUMEFMFUFGSFTPVSDFTJNQMFFDIPZBNM QPETJNQMFFDIPEFMFUFE
1PEͰͷଞͷίϯςφͷࢀর ,VCFSOFUFTͰ1PEʹ*1ΞυϨε͕ৼΒΕΔʢ$MVTUFS*1ʣ 1PE͕ࣗͭͷԾϚγϯͷΑ͏ͳͷ FDIPίϯςφͷϙʔτɺ OHJOY͔ΒMPDBMIPTUͱݟ͑Δ
3FQMJDBTUͱ%FQMPZNFOU
3FQMJDB4FU ‣ 1PE໊ΫϥελͰϢχʔΫɻಉ໊ͷ1PE࡞Ͱ͖ͳ͍ ‣ TJNQMFFDIPΛෳ͢Δ߹ɺTJNQMFFDIPͷΑ͏ͳ໊લͰ࡞ ͠ͳ͍ͱ͍͚ͳ͍ ‣ ࡞Γ͍͚ͨͩͷ1PEͷϚχϑΣετΛ༻ҙ͢Δͷ໘ 1PEͷෳΛαϙʔτ͢Δ3FQMJDB4FUΛ͏
3FQMJDB4FUͷϚχϑΣετϑΝΠϧ BQJ7FSTJPOBQQTW LJOE3FQMJDB4FU NFUBEBUB OBNFTJNQMFFDIP MBCFMT BQQFDIP TQFD SFQMJDBT TFMFDUPS
NBUDI-BCFMT BQQFDIP UFNQMBUF NFUBEBUB MBCFMT BQQFDIP TQFD DPOUBJOFST OBNFOHJOY JNBHFHJIZPEPDLFSOHJOYMBUFTU FOW OBNF#"$,&/%@)045 WBMVFMPDBMIPTU QPSUT DPOUBJOFS1PSU OBNFFDIP JNBHFHJIZPEPDLFSFDIPMBUFTU QPSUT DPOUBJOFS1PSU ҙͷMBCFMTΛ͚ͭΒΕΔ ϦιʔεͷϑΟϧλϦϯάʹ༗༻ UFNQMBUFҎԼ1PEϦιʔεʹ͓͚Δఆٛͱಉ͡
3FQMJDB4FUͷ࡞ 3FQMJDB4FUͷ࡞ LVCFDUMBQQMZGSFTPVSDFTJNQMFFDIPSTZBNM SFQMJDBTFUBQQTTJNQMFFDIPDSFBUFE ࡞ͨ͠3FQMJDB4FU 1PEͷ֬ೝ LVCFDUMHFUST QPETFMFDUPSBQQFDIP /".&%&4*3&%$633&/53&"%:"(& SFQMJDBTFUFYUFOTJPOTTJNQMFFDIPN
/".&3&"%:45"5643&45"354"(& QPETJNQMFFDIPGCQ3VOOJOHN QPETJNQMFFDIPGNOXM3VOOJOHN QPETJNQMFFDIPSKOE3VOOJOHN
3FQMJDB4FUͷআ 3FQMJDB4FUͷআ LVCFDUMEFMFUFGSFTPVSDFTJNQMFFDIPSTZBNM SFQMJDBTFUBQQTTJNQMFFDIPEFMFUFE আͨ͠Ϧιʔεͷ֬ೝʢ3FQMJDB4FUɺ1PEͱʹআ͞Ε͍ͯΔʣ LVCFDUMHFUST QPETFMFDUPSBQQFDIP /PSFTPVSDFTGPVOE
%FQMPZNFOU ‣ ҰݴͰ͍͏ͱ3FQMJDB4FUͷ্Ґޓ ‣ 3FQMJDB4FU1PEͷෳ͚ͩΛ୲͏͕ɺ%FQMPZNFOU3FQMJDB4FUͷੈ ཧ·ͰΛ୲͏ ‣ ࣮ӡ༻Ͱ3FQMJDB4FUΛѻ͏͜ͱগͳ͍
%FQMPZNFOUͷ࡞ %FQMPZNFOUͷ࡞ LVCFDUMBQQMZGSFTPVSDFTJNQMFFDIPEFQMPZNFOUZBNM EFQMPZNFOUBQQTTJNQMFFDIPDSFBUFE ࡞ͨ͠%FQMPZNFOU 3FQMJDB4FU 1PEͷ֬ೝ LVCFDUMHFUEFQMPZ ST QPETFMFDUPSBQQFDIP
/".&%&4*3&%$633&/56150%"5&"7"*-"#-&"(& EFQMPZNFOUFYUFOTJPOTTJNQMFFDIPT /".&%&4*3&%$633&/53&"%:"(& SFQMJDBTFUFYUFOTJPOTTJNQMFFDIPEECGCT /".&3&"%:45"5643&45"354"(& QPETJNQMFFDIPEECGCHKY3VOOJOHT QPETJNQMFFDIPEECGCE[G3VOOJOHT QPETJNQMFFDIPEECGCRHU⒎3VOOJOHT
%FQMPZNFOUͷআ %FQMPZNFOUͷ࡞ LVCFDUMEFMFUFGSFTPVSDFTJNQMFFDIPEFQMPZNFOUZBNM EFQMPZNFOUBQQTTJNQMFFDIPDSFBUFE আͨ͠%FQMPZNFOU 3FQMJDB4FU 1PEͷ֬ೝ LVCFDUMHFUEFQMPZ ST QPETFMFDUPSBQQFDIP
/PSFTPVSDFTGPVOE
4FSWJDF
4FSWJDF ‣ 1PEͷू߹ʹର͢ΔϧʔςΟϯάαʔϏεσΟεΧόϦػೳ Λఏڙ͢ΔϦιʔε ‣ ಉ͡छྨͷෳ1PEʹର͠ɺτϥϑΟοΫΛྲྀͨ͢Ίͷϩʔυ όϥϯαʔͱͯ͠ͷػೳ࣋ͭ ‣ 4FSWJDF͔ΒͷτϥϑΟοΫͷసૹɺઃఆ͞ΕͨTFMFDUPSTͷ ϥϕϧͷʹΑܾͬͯఆ͞ΕΔ
‣ ,VCFSOFUFTΫϥελ෦Ͱɺ4FSWJDFͷ໊લͰ4FSWJDFʹ໊લ ղܾͰ͖Δ
4FSWJDF͔Β1PEͷݟ͚ͭํ
σΟεΧόϦͷ࣮ݧ छྨͷ%FQMPZNFOUΛ࡞ LVCFDUMBQQMZGSFTPVSDFTJNQMFFDIPEFQMPZNFOUTQSJOHZBNM LVCFDUMBQQMZGSFTPVSDFTJNQMFFDIPEFQMPZNFOUTVNNFSZBNM ࡞ͨ͠%FQMPZNFOUͷ֬ೝ LVCFDUMHFUEFQMPZTFMFDUPSBQQFDIP /".&%&4*3&%$633&/56150%"5&"7"*-"#-&"(& TJNQMFFDIPTQSJOHN TJNQMFFDIPTVNNFSN
4FSWJDFͷ࡞ 4FSWJDFΛ࡞ LVCFDUMBQQMZGSFTPVSDFTJNQMFFDIPTFSWJDFZBNM TFSWJDFTJNQMFFDIPDSFBUFE ࡞ͨ͠4FSWJDFͷ֬ೝ LVCFDUMHFUTWDTFMFDUPSBQQFDIP /".&5:1&$-645&3*1&95&3/"-*11035 4 "(& TJNQMFFDIP$MVTUFS*1OPOF5$1N
σόοά༻1PE͔Β֬ೝ σόοά༻ίϯςφ LVCFDUMSVOJSNUUZEFCVHJNBHFHJIZPEPDLFSGVOEBNFOUBMSFTUBSU/FWFS CBTIJM EFCVH ࡞ͨ͠4FSWJDFʹରͯ͠)5513FRVFTU EFCVHDVSMIUUQTJNQMFFDIP )FMMP%PDLFS LVCFDUMMPHTGTJNQMFFDIPTQSJOHGCCDUDDFDIP TUBSUTFSWFS
SFDFJWFESFRVFTU LVCFDUMMPHTGTJNQMFFDIPTVNNFSHWWDFDIP TUBSUTFSWFS ˞ϦΫΤετ͕དྷΔͷTQSJOH͚ͩ
SFMFBTFϥϕϧΛม͑Δ BQJ7FSTJPOW LJOE4FSWJDF NFUBEBUB OBNFTJNQMFFDIP MBCFMT BQQFDIP TQFD TFMFDUPS BQQFDIP
SFMFBTFTVNNFS QPSUT OBNFIUUQ QPSU TQSJOH͔ΒTVNNFSʹม͑Δ
4FSWJDFͷมߋ 4FSWJDFͷมߋ LVCFDUMBQQMZGSFTPVSDFTJNQMFFDIPTFSWJDFZBNM TFSWJDFTJNQMFFDIPDPOpHVSFE ࠶ͼσόοάίϯςφ͔Β)5513FRVFTU EFCVHDVSMIUUQTJNQMFFDIP ࠓTVNNFSͷํʹϦΫΤετ͕དྷΔ LVCFDUMMPHTGTJNQMFFDIPTVNNFSHWWDFDIP TUBSUTFSWFS SFDFJWFESFRVFTU
*OHSFTT
*OHSFTT ‣ 4FSWJDF1PEͷϧʔςΟϯάΛ੍ޚ͢ΔΈ ‣ جຊతʹ4FSWJDFΫϥελͷ֎͔ΒΞΫηεͰ͖ͳ͍ ‣ ˞UZQF/PEF1PSUྫ֎ ‣ 4FSWJDFΛΫϥελͷ֎ʹެ։͢ΔϦιʔε͕*OHSFTT
JOHSFTTOHJOYಋೖ LVCFDUMBQQMZGIUUQTSBXHJUIVCVTFSDPOUFOUDPNLVCFSOFUFTJOHSFTTOHJOYOHJOY EFQMPZNBOEBUPSZZBNM LVCFDUMBQQMZGIUUQTSBXHJUIVCVTFSDPOUFOUDPNLVCFSOFUFTJOHSFTTOHJOYOHJOY EFQMPZQSPWJEFSDMPVEHFOFSJDZBNM
*OHSFTTͷϚχϑΣετ BQJ7FSTJPOFYUFOTJPOTWCFUB LJOE*OHSFTT NFUBEBUB OBNFTJNQMFFDIP MBCFMT BQQFDIP TQFD SVMFT IPTUFDIPHJIZPMPDBM
IUUQ QBUIT QBUI CBDLFOE TFSWJDF/BNFTJNQMFFDIP TFSWJDF1PSU ϦΫΤετΛड͚ΔυϝΠϯ όοΫΤϯυͷઃఆ
*OHSFTT࡞ͱ)5513FRVFTU *OHSFTTΛ࡞ LVCFDUMBQQMZGSFTPVSDFTJNQMFFDIPJOHSFTTZBNM JOHSFTTFYUFOTJPOTTJNQMFFDIPDSFBUFE ࡞ͨ͠*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ΞϓϦέʔγϣϯͷߏ
ٳܜ LVCFDUMEFMFUFGSFTPVSDFTJNQMFFDIPJOHSFTTZBNM LVCFDUMEFMFUFGSFTPVSDFTJNQMFFDIPTFSWJDFZBNM LVCFDUMEFMFUFGSFTPVSDFTJNQMFFDIPEFQMPZNFOUTVNNFSZBNM LVCFDUMEFMFUFGSFTPVSDFTJNQMFFDIPEFQMPZNFOUTQSJOHZBNM ٳܜऴΘΔ·ͰʹϦιʔεফ͓͍͍ͯͯͩ͘͠͞
)FMNͰΞϓϦέʔγϣϯΛ ύοέʔδϯά͢Δ
8FCΞϓϦʹඞཁͳϦιʔε %FQMPZNFOU *OHSFTT 4FSWJDF 4FSWJDFͷΫϥελ֎ͷެ։ 1PEͷϧʔςΟϯάɺαʔϏεσΟεΧόϦ 3FQMJDB4FUੈཧɺ1PEͷੜ 3FQMJDB4FU 1PE
͜Ε͚ͩͷϚχϑΣετϑΝΠϧ͕ඞཁ JOHSFTTZBNM TFSWJDFZBNM EFQMPZNFOUZBNM
͠ෳڥ͋Δ߹ʁ EFQMPZNFOUZBNM TFSWJDFZBNM JOHSFTTZBNM EFWFMPQNFOU TUBHJOH QSPEVDUJPO EFQMPZNFOUZBNM TFSWJDFZBNM JOHSFTTZBNM
EFQMPZNFOUZBNM TFSWJDFZBNM JOHSFTTZBNM
ॏෳͷଟ͍ϚχϑΣετΛ ෳ༻ҙ͢Δ͜ͱʹͳΔ ҧ͏ͷ*OHSFTTͷυϝΠϯ %FQMPZNFOUͷڥม͚ͩͩͬͨΓɾɾɾ
ϚχϑΣετͷύοέʔδͷΈ͕ඞཁ
)FMNͱ ‣ ,VCFSOFUFTͷύοέʔδϚωʔδϟ ‣ ϚχϑΣετϑΝΠϧςϯϓϨʔτΛ$IBSUͰύοέʔδϯάɹ
None
)FMNηοτΞοϓ )PNFCSFXͳΒ CSFXJOTUBMMLVCFSOFUFTIFMN όΠφϦμϯϩʔυͳΒ IUUQTHJUIVCDPNIFMNIFMNSFMFBTFTUBHW IFMNॳظԽʢ5JMMFSͱ͍͏1PE͕σϓϩΠ͞ΕΔʣ IFMNJOJUXBJU IFMN֬ೝ IFMNWFSTJPO $MJFOUWFSTJPO7FSTJPO\4FN7FSW
(JU$PNNJUzBDz (JU5SFF4UBUFDMFBO^ 4FSWFSWFSTJPO7FSTJPO\4FN7FSW (JU$PNNJUzBDz (JU5SFF4UBUFDMFBO^
$IBSUͷݕࡧ $IBSUͷϦϙδτϦ֬ೝ IFMNSFQPMJTU /".&63- TUBCMFIUUQTLVCFSOFUFTDIBSUTTUPSBHFHPPHMFBQJTDPN MPDBMIUUQDIBSUT ϦϙδτϦ͔Βదʹ$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ϑΝΠϧ
None
σϑΥϧτ্ॻ͖༻ͷZBNM SFENJOF6TFSOBNFHJIPO SFENJOF1BTTXPSEHJIPO SFENJOF-BOHVBHFKB JOHSFTT FOBCMFEUSVF IPTUT OBNFSFENJOFIBOETPOMPDBM UMTGBMTF *OHSFTT༗ޮԽ
*OHSFTTͷ)PTU
SFENJOFσϓϩΠ σϑΥϧτΛ্ॻ͖ͯ͠σϓϩΠ IFMNJOTUBMMGIFMNSFENJOFSFENJOFWBMVFTZBNMOBNFSFENJOFTUBCMFSFENJOF IFMNͰ࡞ΒΕͨϦιʔεΛ֬ೝ LVCFDUMHFUJOH TWD QPEMSFMFBTFSFENJOF /".&)0454"%%3&4410354"(& JOHSFTTFYUFOTJPOTSFENJOFIBOETPOMPDBMSFENJOFSFENJOFIBOETPOMPDBMMPDBMIPTU N
/".&5:1&$-645&3*1&95&3/"-*11035 4 "(& TFSWJDFSFENJOFNBSJBEC$MVTUFS*1OPOF5$1N TFSWJDFSFENJOFSFENJOF-PBE#BMBODFSQFOEJOH5$1N /".&3&"%:45"5643&45"354"(& QPESFENJOFNBSJBEC3VOOJOHN QPESFENJOFSFENJOFCEYG[W3VOOJOHN
SFENJOFʹΞΫηε IPTUTͰ*OHSFTTʹઃఆͨ͠υϝΠϯΛՃ TVEPWJNFUDIPTUT SFENJOFIBOETPOMPDBM
SFENJOFఫڈ IFMNͰEFQMPZͨ͠ϦϦʔεҰཡ IFMNMT /".&3&7*4*0/61%"5&%45"564$)"35"117&34*0/ /".&41"$& SFENJOF.PO%FD%&1-0:&%SFENJOF EFGBVMU IPTUTͰ*OHSFTTʹઃఆͨ͠υϝΠϯΛՃ IFMNEFMQVSHFSFENJOF SFMFBTFSFENJOFEFMFUFE
ΧελϜ$IBSU
ΧελϜ$IBSUͷ࡞ ‣ IFMNDSFBUFDIBSU໊Ͱ$IBSUͷςϯϓϨʔτΛ࡞Ͱ͖Δ ‣ EFQMPZNFOUZBNM TFSWJDFZBNM JOHSFTTZBNMσϑΥϧτͰ༻ҙ͞Εͯ Δ ‣ σϑΥϧτWBMVFϑΝΠϧσϑΥϧτͰ࡞͞ΕΔ
‣ TJNQMFFDIPͷ$IBSUΛ༻ҙͨ͠ ‣ LVCFSOFUFTIBOETPOIFMNTJNQMFFDIP
WBMVFTZBNMΛ্ॻ͖ͯ͠ΈΑ͏ ‣ ՝ɿ1PEΛͭىಈͯ͠ΈΔ ‣ ՝ɿ*OHSFTTΛ༗ޮʹ͠ɺదͳυϝΠϯΛͯͯΈΔɹ IFMNJOTUBMMG্ॻ͖༻ͷZBNMͷύεOBNFϦϦʔε໊IFMNTJNQMFFDIP
ղ SFQMJDB$PVOU JOHSFTT FOBCMFEUSVF QBUIT IPTUT IPHFIBOETPOMPDBM IFMNJOTUBMMGIPHFZBNMOBNFIPHFIFMNTJNQMFFDIP
)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
ʹ৯ΘͤΔ SFTPVSDFT EFQMPZNFOUZBNM QBUDIFT QBUDIZBNM
TLBGGPMELVTUPNJ[FEFQMPZNFOUZBNM BQJ7FSTJPOBQQTW LJOE%FQMPZNFOU NFUBEBUB OBNFLVTUPNJ[FUFTU MBCFMT BQQLVTUPNJ[FUFTU TQFD SFQMJDBT TFMFDUPS
NBUDI-BCFMT BQQLVTUPNJ[FUFTU UFNQMBUF NFUBEBUB MBCFMT BQQLVTUPNJ[FUFTU TQFD DPOUBJOFST OBNFLVTUPNJ[FUFTU JNBHFHDSJPLTTLB⒎PMEOPUBWBMJEJNBHF ˞IFMNͱҧ͍ɺςϯϓϨʔτͰͳ͍ ଘࡏ͠ͳ͍దͳΠϝʔδΛࢦఆ
TLBGGPMELVTUPNJ[FQBUDIZBNM BQJ7FSTJPOBQQTW LJOE%FQMPZNFOU NFUBEBUB OBNFLVTUPNJ[FUFTU TQFD UFNQMBUF TQFD DPOUBJOFST OBNFLVTUPNJ[FUFTU
JNBHFJOEFYEPDLFSJPMJCSBSZCVTZCPY DPNNBOE TMFFQ ˞ͭલͷEFQMPZNFOUZBNMΛ্ॻ͖͢ΔͨΊͷϚχϑΣετ ͜ͷϑΝΠϧࣗମϚχϑΣετϑΝΠϧͱཱͯ͠ ͜͜ͷ༰Ͱ্ॻ͖͞ΕΔɹ
LVTUPNJ[FͰϚχϑΣετ࡞ ϚχϑΣετϑΝΠϧΛߏங LVTUPNJ[FCVJMETLB⒎PMELVTUPNJ[F BQJ7FSTJPOBQQTW LJOE%FQMPZNFOU NFUBEBUB MBCFMT BQQLVTUPNJ[FUFTU OBNFLVTUPNJ[FUFTU TQFD
SFQMJDBT TFMFDUPS NBUDI-BCFMT BQQLVTUPNJ[FUFTU UFNQMBUF NFUBEBUB MBCFMT BQQLVTUPNJ[FUFTU TQFD DPOUBJOFST DPNNBOE TMFFQ
LVTUPNJ[F LVCFDUM ϚχϑΣετΛߏஙͯ͠ඪ४ग़ྗʹදࣔ LVTUPNJ[FCVJMETLB⒎PMELVTUPNJ[F BQJ7FSTJPOBQQTW LJOE%FQMPZNFOU NFUBEBUB MBCFMT BQQLVTUPNJ[FUFTU
ҰؾʹσϓϩΠ LVTUPNJ[FCVJMETLB⒎PMELVTUPNJ[FcLVCFDUMBQQMZG EFQMPZNFOUBQQTLVTUPNJ[FUFTUDSFBUFE Ұؾʹআ LVTUPNJ[FCVJMETLB⒎PMELVTUPNJ[FcLVCFDUMEFMFUFG
LVTUPNJ[FͱTLBGGPMEΈ߹Θͤ EFWίϚϯυͰɺσϓϩΠͱมߋݕͷػ TLB⒎PMEEFW 4UBSUJOHCVJME 'PVOE<EPDLFSGPSEFTLUPQ>DPOUFYU VTJOHMPDBMEPDLFSEBFNPO #VJMEDPNQMFUFJOT 4UBSUJOHUFTU 5FTUDPNQMFUFJOT 4UBSUJOHEFQMPZ
EFQMPZNFOUBQQTLVTUPNJ[FUFTUDSFBUFE %FQMPZDPNQMFUFJONT 8BUDIJOHGPSDIBOHFTFWFSZT ͜ͷঢ়ଶͰϚχϑΣετϑΝΠϧΛมߋͯ͠ΈΑ͏
ͦͷଞϢʔεέʔεɺศརπʔϧհ
1PEͷΦʔτεέʔϧͬͯͲ͏͢Δͷ )PSJ[POBM1PE"VUPTDBMFS )1"
)PSJ[POBM1PE"VUPTDBMFS )1" ‣ 1PEͷϦιʔε༻ʹԠͯ͡ɺ1PEΛࣗಈͰ૿ݮͤ͞ΔϦιʔε ‣ ࣮ӡ༻ͰSFQMJDB$PVOUͰͳ͘ɺ)1"Λઃఆ͢Δ ‣ $16.FNPSZ༻ͷᮢʹΑͬͯɺ1PE૿ݮͷΠϕϯτ͕ൃੜ
)1"ͷϚχϑΣετ apiVersion: autoscaling/v2beta1 kind: HorizontalPodAutoscaler metadata: name: echo spec: scaleTargetRef:
apiVersion: apps/v1 kind: Deployment name: echo minReplicas: 1 maxReplicas: 3 metrics: - type: Resource resource: name: cpu targetAverageUtilization: 40
ϊʔυ͕Γͳ͍߹Ͳ͏͢Δʁ ,VCFSOFUFT"VUPTDBMFS
,VCFSOFUFT"VUPTDBMFS ‣ IUUQTHJUIVCDPNLVCFSOFUFTBVUPTDBMFS ‣ ඞཁͳͷ1PEΛஔͰ͖Δ͚ͩͷϚγϯϦιʔε͕ແ͍߹ʹɺϊʔυ Λ૿͢Έ ‣ ϚωʔδυͰجຊతʹඪ४ରԠ ‣ ඇϚωʔδυͰ)FMNͰೖΕ·͠ΐ͏
‣ IFMNJOTUBMMOBNFTQBDFLVCFTZTUFNOBNFDMVTUFSBVUPTDBMFS TUBCMFDMVTUFSBVUPTDBMFS ‣ "84ͩͱ"VUP4DBMJOH(SPVQͷ3BUF-JNJUى͘͜͢͠ͳΔͷͰҙ
TUFSO ‣ ίϚϯυϥΠϯͰ1PEͷϩάΛUBJMͰ͖Δπʔϧ ‣ IUUQTHJUIVCDPNXFSDLFSTUFSO ‣ ϥϕϧʹҰகͨ͠1PEͷϩάΛӾཡͰ͖Δ
LBOJLP ‣ ,VCFSOFUFTΫϥελͰ%PDLFSΠϝʔδΛϏϧυ͢ΔͨΊͷπʔϧ ‣ IUUQTHJUIVCDPN(PPHMF$POUBJOFS5PPMTLBOJLP ‣ %PDLFS%BFNPOແ͠ͰϏϧυͰ͖Δ
ͦͷଞࡉ͔͍ͷ ‣ LVCFDUY ‣ IUUQTHJUIVCDPNBINFUCLVCFDUY ‣ ૢ࡞ରͷΫϥελΛΓସ͑͘͢͢Δπʔϧ ‣ LVCFQSPNQU ‣
IUUQTHJUIVCDPNDCBUBLVCFQSPNQU ‣ ΦʔτίϯϓϦʔτͰ͖ΔLVCFDUMతͳ
༧උ࣌ؒɾ࣭ٙλΠϜ