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
540
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.4k
KubernetesのマニフェストをそれなりにCIしたい
stormcat24
4
1.2k
令和時代のSaaS開発
stormcat24
1
240
History in 5 years of CircleCI and CyberAgent
stormcat24
3
800
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
940
Other Decks in Programming
See All in Programming
Memory API: Patterns, Use Cases, and Performance
josepaumard
2
200
C#および.NETに対する誤解をひも解く
ymd65536
0
330
モジュラモノリス、その前に / Modular monolith, before that
euglena1215
8
740
2024-10-01 dev2next - Observability for Modern JVM Applications
jonatan_ivanov
1
140
Scan with Decoupled Look-back and Onesweep Radix Sort
shocker_0x15
0
150
レガシーな Android アプリのリアーキテクチャ戦略
oidy
1
130
個人開発で使ってるやつを紹介する回
yohfee
1
730
LangChain & LangServeでAPIを爆速作成
kijitorabuti
2
350
The future of development – Are our jobs getting harder or easier?
hollycummins
1
180
Folding Cheat Sheet #8
philipschwarz
PRO
0
120
Successful with Signals: 3 Rules for Your Architecture
manfredsteyer
PRO
0
130
RDBの世界をぬりかえていくモデルグラフDB〜truncus graphによるモデルファースト開発〜
jurabi
0
180
Featured
See All Featured
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
5
130
How to Think Like a Performance Engineer
csswizardry
18
1k
10 Git Anti Patterns You Should be Aware of
lemiorhan
653
59k
Making Projects Easy
brettharned
115
5.9k
Making the Leap to Tech Lead
cromwellryan
131
8.9k
Build The Right Thing And Hit Your Dates
maggiecrowley
32
2.3k
How to Ace a Technical Interview
jacobian
275
23k
How GitHub (no longer) Works
holman
311
140k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.1k
Why Our Code Smells
bkeepers
PRO
334
57k
The Cost Of JavaScript in 2023
addyosmani
43
5.9k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
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తͳ
༧උ࣌ؒɾ࣭ٙλΠϜ