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
ヤフー/ゼットラボのステートフルアプリケーションへの挑戦(前半)
Search
Yukinori Sakashita
June 13, 2020
Technology
6
5.4k
ヤフー/ゼットラボのステートフルアプリケーションへの挑戦(前半)
2020/06/13開催のKubeFest Tokyo 2020での発表資料です。
Yukinori Sakashita
June 13, 2020
Tweet
Share
More Decks by Yukinori Sakashita
See All by Yukinori Sakashita
ゼットラボにおける一歩進んだ Kubernetes向けストレージ管理方法
ysakashita
0
320
Kubernetes Persistent Volume向け ゾーン障害への備え
ysakashita
0
1.9k
はじめよう Kubernetes PersistentVolume のバックアップ
ysakashita
3
1.3k
2022年コンテナ/Kubernetes向けストレージ技術の最新動向
ysakashita
9
5.4k
Cloud Nativeに向けた考えるべきポイント
ysakashita
1
300
ステートフルアプリ on Kubernetesの現在と今後の展望
ysakashita
2
780
VM時代からコンテナ時代へストレージ管理の移り変わり
ysakashita
9
7.8k
Kubernetes時代のストレージ
ysakashita
1
660
Persistent Volumeのはじめの一歩
ysakashita
2
1k
Other Decks in Technology
See All in Technology
Databricks AI/BI Genie の「値ディクショナリー」をAmazonの奥地(S3)まで見に行く
kameitomohiro
1
350
Node.js 2025: What's new and what's next
ruyadorno
0
700
データ戦略部門 紹介資料
sansan33
PRO
1
3.8k
GoでもGUIアプリを作りたい!
kworkdev
PRO
0
160
私のMCPの使い方
tsubakimoto_s
0
110
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
3k
SCONE - 動画配信の帯域を最適化する新プロトコル
kazuho
1
270
Okta Identity Governanceで実現する最小権限の原則 / Implementing the Principle of Least Privilege with Okta Identity Governance
tatsumin39
0
100
今この時代に技術とどう向き合うべきか
gree_tech
PRO
2
2.1k
プロダクトのコードから見るGoによるデザインパターンの実践 #go_night_talk
bengo4com
1
2.7k
研究開発部メンバーの働き⽅ / Sansan R&D Profile
sansan33
PRO
3
20k
AIフル活用で挑む!空間アプリ開発のリアル
taat
0
110
Featured
See All Featured
Agile that works and the tools we love
rasmusluckow
331
21k
Embracing the Ebb and Flow
colly
88
4.9k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
Statistics for Hackers
jakevdp
799
220k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
Navigating Team Friction
lara
190
15k
Large-scale JavaScript Application Architecture
addyosmani
514
110k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.5k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Building Better People: How to give real-time feedback that sticks.
wjessup
369
20k
Transcript
ϠϑʔθοτϥϘͷ εςʔτϑϧΞϓϦέʔγϣϯͷઓ :VLJOPSJ4BLBTIJUB
"HFOEB <લ>,VCFSOFUFTBTB4FSWJDF͚εςʔτϑϧαʔϏεͷ࣮ݱ 2 <ޙ>εςʔτϑϧΞϓϦέʔγϣϯͷࣄྫ ‣ ϠϑʔθοτϥϘ͕࡞Δ,VCFSOFUFTBTB4FSWJDF $BB4 ‣ $BB4͚εςʔτϑϧαʔϏεͷઓ
‣ σΟεϓϨΠࠂ :%/ ͷ$BB4ಋೖࣄྫͷհ ‣ $BB4ҠߦͰۤ࿑ͨ͠
ࣗݾհ ‣ٕज़ݚڀΤϦΞ ӡ༻ཧٕज़ Ϋϥυ αʔόετϨʔδ ࣗಈࣗίϯϐϡʔςΟϯά
"*.- // ).. #BZFTJBO/FUXPSL ‣લ৬ ૯߹ిؾϝʔΧʔ 㾎ݚڀॴ ओݚڀһ 㾎ւ֎ݚڀॴ!γϦίϯόϨʔ ϥϘ αʔόϕϯμʔ ςΫχΧϧ4& 3 ࡔԼಙ ത࢜ :VLJOPSJ4BLBTIJUB 1I% ‣ ϠϑʔגࣜձࣾθοτϥϘגࣜձࣾ ‣ 4/*"ຊࢧ෦ٕज़ҕһձ෭ҕһ ‣ 4/*"5FDIOJDBM$PVODJM"EWJTPS
ϠϑʔθοτϥϘ͕Δ ,VCFSOFUFTBTB4FSWJDF
Ϡϑʔ ‣ Ҏ্ͷ8FCαʔϏε χϡʔε ϠϑΦΫɺఱؾͳͲ Λఏڙ ‣ ओͳσʔληϯλʔ ຊڌ
ถࠃڌ ‣ 0QFO4UBDL,VCFSOFUFTͳͲΛ ׆༻ͨ͠ϓϥΠϕʔτΫϥυʹͯ 8FCαʔϏεΛߏஙɾӡ༻ 5
θοτϥϘ ‣ ʹઃཱ͞ΕͨϠϑʔגࣜձࣾͷࢠձࣾ ‣ Ϡϑʔͷ࣍ੈΠϯϑϥΛݚڀ։ൃ ‣ Ϡϑʔ͚ʹ,VCFSOFUFTBTB4FSWJDF $BB4 Λ։ൃ ‣
IUUQT[MBCDPKQ 6
ϠϑʔͱθοτϥϘͷମ੍ 7 $BB4ཧऀ ετϨʔδཧऀ ֎෦ϕϯμʔ $BB4ར༻ऀ 8FCαʔϏε։ൃऀ ,VCFSOFUTఏڙ αϙʔττϨʔχϯά $BB4͚ΠϯϑϥධՁ
ߏݕ౼ $BB4։ൃɺೲ ઃܭ૬ஊ ٕज़ηϛφʔ 7 αʔόཧऀ ωοτϫʔΫཧऀ $BB4 ཁ͍߹Θͤ
,VCFSOFUFTBTB4FSWJDF ‣ :BIPP+"1"/ͷ8FCαʔϏεͷҰ෦,VCFSOFUFT্ͰՔಇ ‣ Ϛωʔδυ,VCFSOFUFTαʔϏε ,VCFSOFUFTBTB4FSWJDF$BB4 Λӡ༻ Ќ
(" ‣ Ϡϑʔͷࣗࣾσʔληϯλʔ Ϧʔδϣϯ ʹͯՔಇத 8
$BB4ͷར༻ ‣ ,VCFSOFUFTͷΫϥελ ‣ ར༻͍ͯ͠Δ։ൃνʔϜ ‣ ,VCFSOFUFTOPEFT
‣ ίϯςφ, 9 $MVTUFST $MVTUFST ˞࣌ͷσʔλ $MVTUFST $MVTUFST $MVTUFST
"SDIJUFDUVSFPG$BB4 10 7 . ,VCFSOFUFT ɾɾɾ
4FMGIFBMJOH4DBMJOH 11 ,VCFSOFUFT 7 . )FBMJOH 4DBMJOH .POJUPSJOH
"EEPONBOBHFS ‣ ಠࣗͷ"EEPONBOBHFSʹΑΓ(SBGBOB 1SPNFUIFVTͳͲϢʔβͷଟ͕͘ ར༻͢ΔΞϓϦΛఏڙ ‣ ఏڙ͢ΔΞϓϦͷϚχϑΣετΛύοέʔδԽ֤͠αʔϏε͕ར༻͢Δ ,VCFSOFUFTσϓϩΠ ‣ ,VCFSOFUFTͷόʔδϣϯʹԠͯࣗ͡ಈΞοϓσʔτ
12 "EEPONBOBHFS BMFSUNBOBHFS ɾɾɾ %FQMPZ μογϡϘʔυ ΞϥʔτϧʔϧͳͲ σϓϩΠ
$BB4ͷಛ ‣ ίϚϯυͭͰ,VCFSOFUFTΫϥελΛ࡞ ‣ αʔϏεແఀࢭͰͷ,VCFSOUFTͷϩʔϦϯάΞοϓσʔτ ϲ݄ʹճͷ,VCFSOFUFTͷΞοϓσʔτʹਵ /PEFΛ࠶࡞ /PEFͷ04ͷΞοϓσʔτՄೳ
‣ ,VCFSOFUFTΫϥελࣗͷηϧϑώʔϦϯά ‣ ,VCFSOFUFTΫϥελͷεέʔϧΞτΠϯ ‣ "EEPONBOBHFSʹΑΔΞϓϦͷσϓϩΠΞοϓσʔτ 13
$BB4ͷνϟϨϯδ ‣ ࣌ͰεςʔτϨεΞϓϦΛ,VCFSOFUFT্Ͱ࣮ߦ 8FCαʔϏεεςʔτϨεˍεςʔτϑϧͷΞϓϦͰߏ 8FCαʔϏε։ൃऀ͔ΒεςʔτϑϧΞϓϦ,VCFSOFUFT্Ͱ ࣮ߦ͍ͨ͠ͱͷ ‣ ;-BCʹͯεςʔτϑϧαʔϏεͷݕ౼։࢝
':2 ‣ ;-BCʹͯεςʔτϑϧαʔϏεͷఏڙ։࢝ ':2 ‣ ϠϑʔʹͯεςʔτϑϧαʔϏεͷύΠϩοτར༻։࢝ ‣ Ϡϑʔʹͯ$BB4͚εςʔτϑϧαʔϏεͷఏڙ։࢝ ':) 14
$BB4͚ εςʔτϑϧαʔϏεͷઓ
εςʔτϑϧαʔϏεఏڙͷ՝ ‣ ֤αʔϏε͝ͱʹಠཱͨ͠σʔλΞΫηε͕ඞཁ ηΩϡϦςΟ ‣ ૿͑ଓ͚Δ,VCFSOFUFTΫϥελ ‣ ૿͑ͳ͍ཧऀ ‣
ϲ݄ʹճͷ,VCFSOFUFTͷΞοϓσʔτͷਵ ‣ $BB4ͷಛͰ͋Δ/PEFͷηϧϑώʔϦϯάˍεέʔϦϯάରԠ 16
‣ ෆඞཁͳϢʔβ͔ΒͷΞΫηεېࢭ ‣ ෳ,VCFSOFUFT͕͋ΔڥͰ,VCFSOFUFTࣗͰͷ ΞΫηείϯτϩʔϧෆՄ 17 ,VCFSOFUFT ,VCFSOFUFT ࢪࡦηΩϡϦςΟ
18 ετϨʔδͷϚϧνςφϯτ׆༻ ‣ ετϨʔδͷϚϧνςφϯτͰ,VCFSOFUFTຖͷΞΫηεΛίϯτϩʔϧ ϘϦϡʔϜɺϙʔτɺϢʔβݖݶ ,VCFSOFUFT ,VCFSOFUFT 5FOBOU" 5FOBOU#
4UPSBHF
ࢪࡦࣗಈԽ ‣ ,VCFSOFUFTͷόʔδϣϯΞοϓʹै͢ΔͨΊϲ݄ʹճ ΞοϓσʔτΛ࣮ࢪ ‣ ετϨʔδͷ$4*%SJWFSؔ࿈ΞϓϦͳͲͷΞοϓσʔτඞཁ ‣ Ҏ্ͷ,VCFSOFUFTΫϥελͷΞοϓσʔτਓखͰແཧ 19
"EEPONBOBHFSΛͬͨࣗಈԽ ‣ "EEPONBOBHFSΛ͍4UPSBHF$MBTTϕϯμఏڙͷ$4*%SJWFSؔ࿈ εςʔτϑϧαʔϏεͰඞཁͳͷΛࣗಈσϓϩΠ ‣ ,VCFSOFUFTͷόʔδϣϯΞοϓʹ࿈ಈࣗ͠ಈΞοϓσʔτ 20 "EEPONBOBHFS %FQMPZ $4*%SJWFSؔ࿈
4UPSBHF$MBTT μογϡϘʔυΞϥʔτϧʔϧ
ࢪࡦࣗಈԽ ‣ $BB4ͰΞοϓσʔτোൃੜʹ/PEF 7. Λ࠶࡞ ‣ /'4J4$4*ͰετϨʔδଆͷ"$-ߋ৽͕ඞཁ ‣ ετϨʔδଆͷ"$-ߋ৽,VCFSOFUFTͰ࣮ࢪ͞Εͳ͍ 21
/PEF /PEF $SFBUF OFX/PEF "EE OFX/PEF %FMFUF PME/PEF .PWF 1PE /PEF /PEF /PEF /PEF "$-ͷ ߋ৽ͳ͠ 4UPSBHF
"$-ͷࣗಈߋ৽ ‣ /PEFΛ8BUDI͠"$-Λࣗಈߋ৽͢Δ$VTUPN$POUSPMMFSΛ։ൃ ॳظ ‣ (JU)VCެ։ͷϕϯμʔͷ$4*1MVHJOϦΫΤετ ਖ਼ࣜαϙʔτ։࢝
22 /PEF FYQPSUQPMJDZNHS "EE OFX/PEF %FMFUF PME/PEF /PEFͷՃΠϕϯτΛݕ /FX/PEFͷ*1*2/Λऔಘ 4UPSBHFͷ"$-ొ /PEFͷআΠϕϯτΛݕ 0ME/PEFͷ*1*2/Λऔಘ 4UPSBHFͷ"$-͔Βআ 4UPSBHF
લͷ·ͱΊ ‣ $BB4͚ʹεςʔτϑϧαʔϏεΛఏڙ ‣ ηΩϡϦςΟΛߟྀͨ͠Ϛϧνςφϯτ ‣ ,VCFSOFUFTͷΞοϓσʔτʹਵͰ͖ΔࣗಈΞοϓσʔτ ‣ /PEFͷ࡞Γ͠ʹରԠͰ͖Δ"$-ͷࣗಈΞοϓσʔτ 23
24 ޙ