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
600
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
5.1k
KubernetesのマニフェストをそれなりにCIしたい
stormcat24
4
1.4k
令和時代のSaaS開発
stormcat24
1
300
History in 5 years of CircleCI and CyberAgent
stormcat24
3
870
Kubernetes Handson
stormcat24
5
4.4k
DockerとKubernetesでアプリケーション開発にコンテナをフル活用!
stormcat24
0
350
Base Image Journey 2018
stormcat24
29
140k
kotlin-fest
stormcat24
13
18k
Kotlin/Native
stormcat24
0
1k
Other Decks in Programming
See All in Programming
CSC509 Lecture 08
javiergs
PRO
0
280
What's New in Web AI?
christianliebel
PRO
0
120
自動テストのアーキテクチャとその理由ー大規模ゲーム開発の場合ー
segadevtech
2
870
Migration to Signals, Resource API, and NgRx Signal Store
manfredsteyer
PRO
0
160
Vueのバリデーション、結局どれを選べばいい? ― 自作バリデーションの限界と、脱却までの道のり ― / Which Vue Validation Library Should We Really Use? The Limits of Self-Made Validation and How I Finally Moved On
neginasu
3
1.8k
React Nativeならぬ"Vue Native"が実現するかも?_新世代マルチプラットフォーム開発フレームワークのLynxとLynxのVue.js対応を追ってみよう_Vue Lynx
yut0naga1_fa
2
2.1k
r2-image-worker
yusukebe
1
160
Register is more than clipboard
satorunooshie
1
440
alien-signals と自作 OSS で実現する フレームワーク非依存な ロジック共通化の探求 / Exploring Framework-Agnostic Logic Sharing with alien-signals and Custom OSS
aoseyuu
3
5.8k
Private APIの呼び出し方
kishikawakatsumi
2
800
NIKKEI Tech Talk#38
cipepser
0
430
AI時代に必須!状況言語化スキル / ai-context-verbalization
minodriven
3
360
Featured
See All Featured
Why You Should Never Use an ORM
jnunemaker
PRO
60
9.6k
Code Review Best Practice
trishagee
72
19k
Building Applications with DynamoDB
mza
96
6.7k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
Music & Morning Musume
bryan
46
6.9k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
54k
Gamification - CAS2011
davidbonilla
81
5.5k
A designer walks into a library…
pauljervisheath
210
24k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
192
56k
Navigating Team Friction
lara
190
15k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
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తͳ
༧උ࣌ؒɾ࣭ٙλΠϜ