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
340
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
組込みだけじゃない!TinyGo で始める無料クラウド開発入門
otakakot
2
380
Domain-centric? Why Hexagonal, Onion, and Clean Architecture Are Answers to the Wrong Question
olivergierke
3
980
なんでRustの環境構築してないのにRust製のツールが動くの? / Why Do Rust-Based Tools Run Without a Rust Environment?
ssssota
14
46k
Server Side Kotlin Meetup vol.16: 内部動作を理解して ハイパフォーマンスなサーバサイド Kotlin アプリケーションを書こう
ternbusty
3
250
CSC509 Lecture 08
javiergs
PRO
0
260
contribution to astral-sh/uv
shunsock
0
540
TransformerからMCPまで(現代AIを理解するための羅針盤)
mickey_kubo
7
5.4k
エンジニアインターン「Treasure」とHonoの2年、そして未来へ / Our Journey with Hono Two Years at Treasure and Beyond
carta_engineering
0
430
Webサーバーサイド言語としてのRustについて
kouyuume
1
4.9k
AIと人間の共創開発!OSSで試行錯誤した開発スタイル
mae616
2
810
Goで実践するドメイン駆動開発 AIと歩み始めた新規プロダクト開発の現在地
imkaoru
4
910
スキーマ駆動で、Zod OpenAPI Honoによる、API開発するために、Hono Takibiというライブラリを作っている
nakita628
0
320
Featured
See All Featured
RailsConf 2023
tenderlove
30
1.3k
Fireside Chat
paigeccino
41
3.7k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
10
890
Into the Great Unknown - MozCon
thekraken
40
2.1k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.2k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.2k
It's Worth the Effort
3n
187
28k
Intergalactic Javascript Robots from Outer Space
tanoku
272
27k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
The Straight Up "How To Draw Better" Workshop
denniskardys
238
140k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
A Tale of Four Properties
chriscoyier
161
23k
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తͳ
༧උ࣌ؒɾ࣭ٙλΠϜ