Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
KubeCon+CNConに見るetcdの未来
Search
Akihiro Ikezoe
January 09, 2019
Technology
2.5k
10
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
KubeCon+CNConに見るetcdの未来
Akihiro Ikezoe
January 09, 2019
More Decks by Akihiro Ikezoe
See All by Akihiro Ikezoe
Kubernetesコントローラーのパフォーマンスチューニング
zoetrope
4
2.4k
Kubernetes Admission Webhook Deep Dive
zoetrope
8
1.6k
Kubernetesオペレータのアンチパターン&ベストプラクティス
zoetrope
11
5k
Production-Ready Kubernetesに至るまでの3年間とこれから
zoetrope
4
970
オンプレKubernetesでMySQLクラスタの運用を自動化するためにOperatorを自作している話
zoetrope
5
2.5k
サイボウズを支える技術~インフラ刷新プロジェクトNecoを中心に紹介~
zoetrope
1
1.3k
Kuebernetesクラスタのマルチテナンシーベストプラクティス
zoetrope
8
6.9k
クラウドネイティブなチームづくり
zoetrope
7
4k
Open Policy Agent / Gatekeeper 勉強会
zoetrope
5
3k
Other Decks in Technology
See All in Technology
なぜ「決定性」が 決定的に重要なのか? Durable Execution 基盤の数理的理解 #serverlessjp / ServerlessDays Tokyo 2026
ytaka23
4
1.3k
Terraformを用いたJamf Pro構成のIaC, GitOps化への挑戦
yukun
0
110
HolmesGPTで始めるSREエージェント入門!プラットフォームの障害調査はAIにお任せ 〜
sanghyuk
0
230
顧客の成果創出とプロダクトの成長を 両立するためのFDE
sansantech
PRO
0
270
その Lambda、8分で 管理者権限まで奪われます
k1nakayama
7
3.8k
「今盗んで、後で解く」に備える ― AWSのポスト量子暗号入門
yama3133
2
270
地方移住と都心キャリアの両立は「金・時間・人」のリソースをフル活用すれば実現できる!〜Snowflake女子会 vol.8
snowwmn0824
0
130
いちAWSエンジニアのAI活用を振り返る #devio2026 / devio osaka 2026 kawahara
masahirokawahara
1
260
【データ横丁主催】AI Agentがコンテキストを使って仕事をした後、何が残るのか― 組織の経験を次の判断に引き継ぐ「Agent Memory」
shisyu_gaku
2
200
AIに賢く動いてもらうためのコンテキスト〜Snowflake女子会 vol.8
snowwmn0824
0
190
IR Today: Theory, Practice, and Agents
dtunkelang
0
220
雪かき部 #7 もう怖くない!SELECT文!
foursue
0
140
Featured
See All Featured
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.9k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
390
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
330
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
480
Building AI with AI
inesmontani
PRO
1
1.3k
Skip the Path - Find Your Career Trail
mkilby
1
240
YesSQL, Process and Tooling at Scale
rocio
174
15k
Git: the NoSQL Database
bkeepers
PRO
432
67k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.6k
Darren the Foodie - Storyboard
khoart
PRO
4
4k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Transcript
KubeCon + CNCon ʹݟΔ etcd ͷະདྷ Cloud Native Meetup Tokyo
#6 20191݄9 ఴ ໌
• Akihiro IKEZOE (@zoetro) • αΠϘζגࣜձࣾۈ • Πϯϑϥ৽ϓϩδΣΫτ • ࣗࣾσʔληϯλʔʹKubernetesΫϥελΛߏங
• αʔόʔػࡐͷϥΠϑαΠΫϧཧͷࣗಈԽɺKubernetesΫϥελͷӡ༻ࣗ ಈԽπʔϧΛ։ൃ͍ͯ͠Δ 2 ࣗݾհ
KubeCon + CloudNativeCon North America 2018 • αΠϘζ͔Β7໊ͰࢀՃ͠·ͨ͠ɻ • KubeCon
+ CloudNativeCon North America 2018 ݱϨϙʔτ • IUUQTCMPHDZCP[VJPFOUSZ • IUUQTCMPHDZCP[VJPFOUSZ • IUUQTCMPHDZCP[VJPFOUSZ • IUUQTCMPHDZCP[VJPFOUSZ 3
etcdؔ࿈ηογϣϯ • Keynote: 5 Years of etcd: Past, Present, and
Future • What's Next for etcd Cluster Management? • Intro: Cluster Lifecycle SIG • Debugging etcd • Deep Dive: etcd 4
etcd • CoreOSࣾ(ݱRed Hatࣾ)͕։ൃ͢ΔࢄΩʔόϦϡʔετΞ • ಛ • )JHI"WBJMBCMF • 4USPOH$POTJTUFODZ.PEFM
• 3BGUʹΑΔࢄ߹ҙ • 5SBOTBDUJPO 8BUDI -FBTF • ϦʔμʔΤϨΫγϣϯͳͲࢄγεςϜʹඞཁͳػೳΛఏڙ • Kubernetes, Vitess, CoreDNSͳͲଟ͘ͷࢄγεςϜͷόο ΫΤϯυͱͯ͠ར༻͞Ε͍ͯΔɻ 5
etcdͷະདྷ Keynote: 5 Years of etcd: Past, Present, and Future
CoreOSࣾͷOSSͲ͏ͳΔͷ͔ʁ • CoreOS͕Red Hatʹങऩ͞ΕɺRed HatIBMʹങऩ͞ΕΔ༧ఆɻ • Container Linux • 'FEPSB$PSF04͕ޙܧͱͳΔɻ
• ͍ͬͺ͍ϝϯςφϯε͞ΕΔ༧ఆɻ • rkt • 3FE )BUͱͯ͠։ൃܧଓ͠ͳ͍ɻ'FEPSB$PSF04ʹࡌ͞Εͳ͍ɻ • etcd • Ͳ͏ͳΔʁ 7
https://www.cncf.io/blog/2018/12/11/cncf-to-host-etcd/ 8
etcd͕CNCFϓϩδΣΫτʹ • Red Hat͔ࣾΒCNCFʹدଃ͞Εͨɻ • etcdͷϝϯςφͱͱCoreOSͷ֎ͷਓ͕ଟ͍ͷͰɺ ։ൃମ੍ʹେ͖ͳมԽͳͦ͞͏ɻ • ࠓޙ͍҆͢͞ఆੑੑೳͷվળͳͲ͕த৺ɻ •
υΩϡϝϯτͷඋظ͞ΕΔɻ 9
etcdͷ৽ػೳ What's Next for etcd Cluster Management?
ࠓޙetcdʹಋೖ͞ΕΔػೳ • 3BGU-FBSOFS FUDEW • FUDEPQFSBUPS1FSTJTUFOU7PMVNF4VQQPSU FUDEPQFSBUPSW •
4FSWFS%PXOHSBEF FUDEW • $MVTUFSJOJU ఏҊத 11
3BGU-FBSOFS 12
• ωοτϫʔΫஅύέοτϩεͳͲͷো͕ൃੜ͠ ͯɺσʔλͷෆ߹Λൃੜͤ͞ͳ͍͜ͱΛอূ͢Δɻ • Ϋϥελ͔ΒϦʔμʔΛબग़͢Δɻ Ϧʔμʔ͔ΒଞͷϝϯόʔʹϋʔτϏʔτΛૹ৴͠ Ϧʔμʔ͕1͔͍ͭ͠ͳ͍͜ͱΛอূ͢Δɻ • ϦʔμʔΛؚΉաͷϝϯόʔ͕߹ҙͨ͠ͱ͖ʹ σʔλΛίϛοτ͢Δ͜ͱ͕Ͱ͖Δɻ
13 Raft: etcdͷࢄ߹ҙΞϧΰϦζϜ
Network Partition (Split Brain) https://youtu.be/5kAVOQ4APok 14
• Ϋϥελʹ৽͍͠ϝϯόΛՃͨ͠ͱ͖ɺσʔλͷಉظ͕ྃ ͢Δ·Ͱʹ͕͔͔࣌ؒΔɻ • σʔλͷಉظ͕͍ྃͯ͠ͳ͍ϝϯόʔɺࢄ߹ҙͷϝϯ όʔͱͯ͠Χϯτ͞ΕΔɻ 15 ݱঢ়ͷʢલఏʣ
• σʔλಉظதI/Oෛՙ͕ߴ͍ɻϦʔμʔ͔ΒͷϋʔτϏʔτ ϦΫΤετͷλΠϜΞτ͕ൃੜ͘͢͠ͳΔɻ • σʔλಉظதʹωοτϫʔΫஅ͕ൃੜ͢ΔͱɺຊདྷͳΒো ʹ͑͏ΔέʔεͰΫϥελ่յ͕ൃੜͯ͠͠·͏ɻ • ϝϯόʔΛՃ͢Δͱ͖ʹىಈύϥϝʔλΛϛε͍ͬͯΔͱɺ Quorum Size͚ͩ૿͑ͯނোͨ͠ϝϯόʔ͕ΫϥελʹՃ͞
Εͯ͠·͏ɻ 16 ݱঢ়ͷ
17 σʔλಉظલͷωοτϫʔΫஅ https://youtu.be/5kAVOQ4APok
Raft Learner 18 https://youtu.be/5kAVOQ4APok
$MVTUFSJOJU 19
etcdͷىಈΦϓγϣϯ 20
• etcdΫϥελΛ্ཱͪ͛ΔͨΊʹɺϝϯόʔ͝ͱʹ໊લɺ Ϧοεϯ͢ΔΞυϨεɺଞͷϝϯόʔʹࠂ͢ΔURLΛࢦఆ͢ Δඞཁ͕͋Δɻ • ͜ΕΒͷύϥϝʔλΛࢦఆ͠ͳͯ͘ɺDNSΛར༻ͯ͠ɺࣗಈ తʹ໊લΞυϨεΛղܾ͢ΔΈ͕ఏҊ͞Ε͍ͯΔɻ • etcdϝϯόʔͷ্ཱ͕ͪ͛ඇৗʹ؆୯ʹͳΔʂ 21
Cluster init
etcdadm Intro: Cluster Lifecycle SIG
etcdͷӡ༻େม • etcdඇৗʹ؆୯ʹ͍࢝ΊΔ͜ͱ͕Ͱ͖Δɻ • ͔͠͠ɺຊ൪ڥͰӡ༻͠Α͏ͱࢥ͏ͱɺHAߏʹͨ͠Γɺ ূ໌ॻΛཧͨ͠ΓɺΫϥελ่͕յ͠ͳ͍Α͏ʹϝϯόΛ Ճɾআͨ͠Γɺ͍Ζ͍Ζ͍͠ɻ • ӡ༻ΛࣗಈԽ͢Δπʔϧ͕ඞཁͱͳΔ •
Kubernetes্ͷetcdΫϥελͷӡ༻ FUDEPQFSBUPS • ࣮ػVM্ͷetcdΫϥελͷӡ༻ʁ 23
etcdadm https://youtu.be/vtBc0f1ACbM 24
• ࣮ػ7.͚ͷFUDEΫϥελӡ༻ࣗಈԽπʔϧ • ,VCFSOFUFT LVCFBQJTFSWFS ͚ʹಛԽ • $MVTUFS-JGFDZDMF 4*(ʹͯఏҊத •
QMBUGPSNFUDEBEN ͱ LPQFJPFUDENBOBHFS Λϕʔεʹ࣮͕ͯ͠ਐΊΒΕΔ༧ఆɻ • FUDEΫϥελͷߏஙӡ༻ΛࣗಈԽͯ͘͠ΕΔ • ϝϯόʔͷՃআ • όοΫΞοϓͱϦετΞ σΟβελʔϦΧόϦʔ • ΞοϓάϨʔυɺμϯάϨʔυ • ূ໌ॻͷཧ 25 etcdadm
τϥϒϧγϡʔςΟϯά Debugging etcd
σόοάͷΞϓϩʔν https://youtu.be/NVMZBBQ9hsM 27
σόοάʹศརͳπʔϧ • etcdctl • FUDEΛૢ࡞͢ΔͨΊͷඪ४πʔϧɻ • auger • ,VCFSOFUFTQSPUPCVGܗࣜͰFUDEʹσʔλΛ֨ೲ͍ͯ͠Δɻ •
͜ͷσʔλΛσίʔυͯ͠දࣔͯ͘͠ΕΔπʔϧɻ • etcd-dump-logs • 8"-ͷMPHΛμϯϓͯ͠ɺFUDEʹରͯ͠ͲͷΑ͏ͳૢ࡞͕͓͜ͳΘΕ ͔ͨΛ֬ೝ͢Δ͜ͱ͕Ͱ͖Δπʔϧɻ 28
Q&Aܗࣜͷηογϣϯ Deep Dive: etcd
Deep Dive: etcd https://youtu.be/GJqO1TYzVDE 30
ؾʹͳͬͨQ&A • ͳͥσʔλαΠζʹ੍ݶ͕͋Δͷ͔ʁ • σϑΥϧτͰ2GBʢ࠷େ8GBʣͷ੍ݶ͕͋Δɻ • σʔλϕʔεϑΝΠϧΛmmap͢ΔͨΊɺσʔλྔͷϝϞϦ͕ඞཁɻ • ͳͥίϯύΫγϣϯ͕ඞཁͳͷ͔ʁ •
Ωʔ͝ͱͷཤྺΛอ͍࣋ͯ͠Δɻ • ݹ͍ཤྺΛআ͠ͳ͍ͱɺσʔλ༰ྔ͕૿͑ϦετΞ࣌ؒ૿େ͢Δɻ • ͳͥI/OϨΠςϯγʹහײͳͷ͔ʁ • ఆظతʹϦʔμʔ͔ΒϑΥϩϫʔʹϋʔτϏʔτΛૹ৴ͯ͠ɺࢄ߹ҙͷϝ λσʔλΛϑΝΠϧʹอଘ͍ͯ͠Δɻ • ϑΝΠϧॻ͖ࠐΈ͕͍ͱϋʔτϏʔτ͕λΠϜΞτ͢Δɻ(v3.4Ͱվળʁ) • ग़དྷΔ͚ͩSSDΛ͏͖ɻ 31
·ͱΊ
·ͱΊ • etcdKubernetesΛ࢝Ί͍Ζ͍Ζͳͱ͜ΖͰΘΕ͍ͯͯɺ ͳͯ͘ͳΒͳ͍ଘࡏɻ • CNCFϓϩδΣΫτʹՃΘͬͨ͜ͱ͋Γɺࠓޙͷϝϯςφϯ ε҆৺ͯ͠ྑͦ͞͏ɻ • ։ൃऀ͚ͷେ͖ͳ৽ػೳ͋·Γͳͦ͞͏͚ͩͲɺӡ༻ऀ ͚ʹخ͍͠ػೳ͕͍Ζ͍Ζग़͖ͯͦ͏ɻ
33