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 the hard way revisited 〜ゼロダウンタイムクラスタ...
Search
LINEヤフーTech (LY Corporation Tech)
PRO
December 10, 2023
Technology
3
430
Kubernetes the hard way revisited 〜ゼロダウンタイムクラスタ移行から学ぶクラスタ構築の仕組み〜
CloudNative Days Tokyo 2023 での登壇資料です
LINEヤフーTech (LY Corporation Tech)
PRO
December 10, 2023
Tweet
Share
More Decks by LINEヤフーTech (LY Corporation Tech)
See All by LINEヤフーTech (LY Corporation Tech)
LINEヤフー株式会社における音声言語情報処理AI研究開発@SP/SLP研究会 2024.10.22
lycorptech_jp
PRO
2
300
DETECLAP: Enhancing Audio-Visual Representation Learning with Object Information (Technical seminar on acoustic scene and event analysis)
lycorptech_jp
PRO
0
32
Language-based Audio Moment Retrieval (Technical seminar on acoustic scene and event analysis)
lycorptech_jp
PRO
0
30
Lighthouse: A User-friendly Library for Reproducible Video Moment Retrieval and Highlight Detection (Technical seminar on acoustic scene and event analysis)
lycorptech_jp
PRO
0
28
LeSSに潜む「隠れWF病」とその処方箋
lycorptech_jp
PRO
2
160
新卒2年目エンジニアがLINEギフトの保守性を高めるために取り組んだこと
lycorptech_jp
PRO
2
580
Trusted Types API と Vue.js
lycorptech_jp
PRO
1
1.4k
LeSSをはじめよう〜LeSSをはじめるとき、LeSSをはじめてから、知りたかったこと詰め合わせ〜
lycorptech_jp
PRO
2
300
合併後のインフラ環境におけるアラートフローの問題点洗い出しと改善をした話
lycorptech_jp
PRO
1
130
Other Decks in Technology
See All in Technology
AWS Lambdaと歩んだ“サーバーレス”と今後 #lambda_10years
yoshidashingo
1
170
マルチモーダル / AI Agent / LLMOps 3つの技術トレンドで理解するLLMの今後の展望
hirosatogamo
37
12k
Evangelismo técnico: ¿qué, cómo y por qué?
trishagee
0
360
ノーコードデータ分析ツールで体験する時系列データ分析超入門
negi111111
0
410
10XにおけるData Contractの導入について: Data Contract事例共有会
10xinc
5
590
Lambda10周年!Lambdaは何をもたらしたか
smt7174
2
110
Amazon Personalizeのレコメンドシステム構築、実際何するの?〜大体10分で具体的なイメージをつかむ〜
kniino
1
100
TypeScriptの次なる大進化なるか!? 条件型を返り値とする関数の型推論
uhyo
2
1.6k
Incident Response Practices: Waroom's Features and Future Challenges
rrreeeyyy
0
160
適材適所の技術選定 〜GraphQL・REST API・tRPC〜 / Optimal Technology Selection
kakehashi
1
170
エンジニア人生の拡張性を高める 「探索型キャリア設計」の提案
tenshoku_draft
1
120
OCI Security サービス 概要
oracle4engineer
PRO
0
6.5k
Featured
See All Featured
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
6
410
Designing the Hi-DPI Web
ddemaree
280
34k
Fireside Chat
paigeccino
34
3k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
27
840
A Modern Web Designer's Workflow
chriscoyier
693
190k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
Building Adaptive Systems
keathley
38
2.3k
Scaling GitHub
holman
458
140k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
329
21k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Embracing the Ebb and Flow
colly
84
4.5k
Transcript
-:$PSQPSBUJPO -*/&Ϡϑʔגࣜձࣾ ޒాਖ਼ଠ ,VCFSOFUFTUIFIBSEXBZSFWJTJUFE ʙθϩμϯλΠϜΫϥελҠߦ͔ΒֶͿΫϥελߏஙͷΈʙ
-:$PSQPSBUJPO • ޒా ਖ਼ଠ ˏTHPUBOE • -*/&Ϡϑʔגࣜձࣾ ιϑτΣΞΤϯδχΞ • ϓϥΠϕʔτΫϥυ7FSEBͷ,BB4։ൃʹैࣄ
• -*/&גࣜձࣾ ࣌ ʹೖࣾɺҎདྷݱ৬ • ,VCFDPO /"Ͱొஃ • “Leveraging Cluster-API for Production-Ready Multi-Regional Infrastructures” ࣗݾհ
-:$PSQPSBUJPO ,VCFSOFUFTUIFIBSEXBZSFWJTJUFEʙθϩμϯλΠϜΫϥελҠߦ͔ΒֶͿΫϥελߏஙͷΈʙ ຊϓϨθϯ͔ΒֶΔ͜ͱ • ,VCFSOFUFTΫϥελͷجຊߏͱٕज़ཁૉ • ΫϥελΛແఀࢭͰҠߦ͢ΔͨΊͷέʔεελσΟ
-:$PSQPSBUJPO ࣭ ,VCFSOFUFTΫϥελʔ࡞ͬͨ͜ͱ͋Γ·͔͢ʁ
-:$PSQPSBUJPO • ύϒϦοΫΫϥυ&,4 (,& ",4 • اۀ͚3FE)BU 0QFOTIJGU 7.XBSF5BO[V •
ΦϯϓϨϛε,VCFBEN ,VCFTQSBZ LPQT LJOE .JOJLVCF • ͦͷଞ,VCFSFOFUFT UIF )BSE 8BZ ,VCFSOFUFTσΟετϦϏϡʔγϣϯ
-:$PSQPSBUJPO • 7FSEB0QFOTUBDL ϕʔεͷࣾΫϥυ • 7FSEB ,VCFSOFUFT4FSWJDF 7,4 • ॳظ3BODIFSΛGPMLͯ͠։ൃ
• ݱࡏ $MVTUFS"1* ,VCFBEN ͱҠߦத 7FSEBͰͷ,VCFSOFUFTσΟετϦϏϡʔγϣϯ ˞ຊεϥΠυͰ3BODIFSͱݴٴ͢Δࡍɺ'PSLͨ͠ͷΛࢦ͠·͢ɻΞοϓετϦʔϜͱҰகੑอূ͠·ͤΜ
-:$PSQPSBUJPO • ӡ༻ऀࢹ • ෳͷσΟετϦϏϡʔγϣϯΛཧ͢Δͷਏ͍ • ΫϥελͷҠߦΛਐΊ͍ͨ • ར༻ऀࢹ •
طଘͷΫϥελΛ͍ଓ͚͍ͨ • ΫϥελΛ࡞Γͨ͘͠ͳ͍ • ඪطଘͷΫϥελΛಈ͔ͨ͠··Ҡߦ͢Δ 3BODIFS͔Β$MVTUFS"1*,VCFBENͷҠߦ
-:$PSQPSBUJPO ,VCFSOFUFT UIF )BSE 8BZ
-:$PSQPSBUJPO • ֶश༻σΟετϦϏϡʔγϣϯ • ֤ίϯϙʔωϯτΛखಈͰઃఆɾߏங • FUDE • LVCFBQJTFSWFS •
LVCFDPOUSPMMFSNBOBHFS • LVCFTDIFEVMFS • LVCFMFU • LVCFQSPYZ ,VCFSOFUFTUIFIBSEXBZͱ https://github.com/kelseyhightower/kubernetes-the-hard-way
-:$PSQPSBUJPO • ΫϥυϦιʔε࡞ • $POUSPM1MBOF༻7. • ,VCFSOFUFT"1*༻ *1ΞυϨε • 8PSLFS༻7.
• ʜ • ຊՈ($1͕ͩɺੜ൛͋Δ • "84 • MJCWJSULWN • ʜ ,5)8෮शɿϦιʔεͷ࡞ IP address for apiserver VM VM worker-* (VM) https://github.com/kelseyhightower/kubernetes-the-hard-way/blob/master/docs/03-compute-resources.md VM VM controller-* (VM)
-:$PSQPSBUJPO • 5-4ɺΩʔϖΞͷੜ • $"ূ໌ॻɾൿີݤ • αʔόʔূ໌ॻɾൿີݤ • ΫϥΠΞϯτূ໌ॻɾൿີݤ •
4FSWJDF"DDPVOU༻ΩʔϖΞ • ֤ϊʔυʹ ,5)8෮शɿূ໌ॻΩʔϖΞͷੜɾ https://github.com/kelseyhightower/kubernetes-the-hard-way/blob/master/docs/04-certificate-authority.md controller-* (VM) worker-* (VM)
-:$PSQPSBUJPO • ,VCFDPOGJHͷੜ • ҎԼΛؚΉ • $"ূ໌ॻ • ΫϥΠΞϯτূ໌ॻɾൿີݤ •
"1*4FSWFSͷΤϯυϙΠϯτ ,5)8෮शɿ,VCFDPOGJHͷੜɾ https://github.com/kelseyhightower/kubernetes-the-hard-way/blob/master/docs/05-kubernetes-configuration-files.md
-:$PSQPSBUJPO • &UDE όΠφϦͷஔ • ઃఆϑΝΠϧʢTZTUFNEʣͷੜ • $" 5-4ূ໌ॻ •
ॳظͷϝϯόͷΞυϨε • ҉߸Խ • ʜ • &UDEαʔϏεͷىಈ ,5)8෮शɿ&UDE Ϋϥελͷߏங controller-1 (VM) controller-2 (VM) controller-0 (VM) https://github.com/kelseyhightower/kubernetes-the-hard-way/blob/master/docs/07-bootstrapping-etcd.md
-:$PSQPSBUJPO • όΠφϦͷஔ • LVCFBQJTFSWFS • LVCFDPOUSPMMFSNBOBHFS • LVCFTDIFEVMFS •
ઃఆϑΝΠϧʢTZTUFNEʣͷੜ • $" 5-4ূ໌ॻɾൿີݤ • 1&. • LVCFDPOGJH • ΤϯυϙΠϯτ • FUDEˡˠFUDE • LVCFBQJTFSWFSˠFUDE • LVCFTDIFEVMFSˠLVCFBQJTFSWFS • LVCFDPOUSPMMFSNBOBHFSˠLVCFBQJTFSWFS • ֤αʔϏεͷىಈ ,5)8෮शɿ$POUSPM1MBOFͷىಈ https://github.com/kelseyhightower/kubernetes-the-hard-way/blob/master/docs/08-bootstrapping-kubernetes-controllers.md controller-* (VM)
-:$PSQPSBUJPO • ্ཱ͕ͪͬͨLVCFBQJTFSWFSʹରͯ͠ -PBE#BMBODFSΛଓ • ࣄલ֬อͨ͠ *1ΞυϨεΛ༩ • ,VCFDPOGJHʹࢦఆͨ͠ͷ
,5)8෮शɿ-#ͷଓ https://github.com/kelseyhightower/kubernetes-the-hard-way/blob/master/docs/08-bootstrapping-kubernetes-controllers.md ce2(VM) ce3(VM) ce1(VM) LoadBalancer
-:$PSQPSBUJPO • ϗετͷઃఆ • TXBQPGG • ίϯϙʔωϯτͷΠϯετʔϧ • DPOUBJOFSE $/*QMVHJO
,VCFMFU LVCFQSPYZ • ઃఆϑΝΠϧੜ • 4ZTUFNE 6OJUͷىಈ ϫʔΧʔϊʔυͷߏஙɾՃ Worker1 (VM) Worker2 (VM) Worker3 (VM) hSps://github.com/kelseyhightower/kubernetes-the-hard-way/blob/master/docs/09-bootstrapping-kubernetes-workers.md
-:$PSQPSBUJPO ,VCFSOFUFTUIFIBSEXBZ͕ڭ͑ͯ͘Εͨ͜ͱ ,VCFSOFUFTUIFIBSEXBZSFWJTJUFE ֤ίϯϙʔωϯτखಈͰઃఆͰ͖Δ ֤σΟετϦϏϡʔγϣϯࣗಈԽͯ͠Δ͚ͩ ˣ ઃఆΛௐ͢ΕΠϯετʔϥΛҠߦͰ͖ΔͷͰʁ
-:$PSQPSBUJPO 3BODIFS͔Β$MVTUFS"1*,VCFBEN ͷΫϥελҠߦ
-:$PSQPSBUJPO • ҟͳΔόʔδϣϯͷίϯϙʔωϯτߋ৽ • ྫWˠW • ϊʔυΛ̍ͭͣͭೖΕସ͑ • ࠷ऴతʹશͯͷϊʔυɾίϯϙʔωϯτΛߋ৽
ࢀߟࣄྫΫϥελΞοϓάϨʔυ v1.27 v1.27 v1.27 v1.28 v1.27 v1.27 v1.28 v1.28 v1.27 v1.28 v1.28 v1.28
-:$PSQPSBUJPO • ҟͳΔઃఆͷίϯϙʔωϯτߋ৽ • 3BODIFS SLF ˠ,VCFBEN • ϊʔυΛ̍ͭͣͭೖΕସ͑ •
࠷ऴతʹશͯͷϊʔυɾίϯϙʔωϯτΛߋ৽ ઓུɿϊʔυΛͭͣͭೖΕସ͑Δ
-:$PSQPSBUJPO ݹ͍Ϋϥελ 3BODIFS3,& ʹ,VCFBENͰ/PEFΛ+PJOͤ͞Δ ͡ΊͷҰาɿ8PSLFS/PEFΛՃ͢Δ Join
-:$PSQPSBUJPO ,VCFBEN +PJO LVCFBEN KPJODPOGJHSVOLVCFBENLVCFBENKPJODPOGJHZBNM
-:$PSQPSBUJPO ,VCFBEN +PJO LVCFBEN KPJODPOGJHSVOLVCFBENLVCFBENKPJODPOGJHZBNM
-:$PSQPSBUJPO • ,VCF "1*4FSWFSͷΤϯυϙΠϯτ • $"ͷϋογϡ • ೝূ༻ͷ#PPUTUSBQτʔΫϯ ,VCFBEN
+PJOͷͨΊʹ
-:$PSQPSBUJPO ,VCFMFU͔Β"1*4FSWFSͷଓ LB چߏʢ3BODIFSʣ ৽ߏʢ,VCFBENʣ worker worker mycluster.example.com
-:$PSQPSBUJPO • "1*4FSWFSʹରͯ͠-#Λ࡞ • ,VCFSOFUFT UIF IBSEXBZͱಉ͡ʂ • ৽ߏʹ߹ΘͤͯυϝΠϯ໊Λ༩ •
NZDMVTUFSFYBNQMFDPN • ˠଓΤϥʔ -#Λ࡞Εղܾʁ LB worker چߏʢ3BODIFSʣվ mycluster.example.com
-:$PSQPSBUJPO 5-4ূ໌ॻͷ4"/ͷमਖ਼ • 5-4Ͱ4"/ʹ͋ΔυϝΠϯ໊ͷΈ௨৴Մ • 4"/4VCKFDU"MUFSOBUJWF/BNF • ͦ͏Ͱͳ͍ͱݕূΤϥʔͱͳΔ ˣ
• ৽ߏʹԊͬͨυϝΠϯ໊Λ4"/Ճ • 5-4ূ໌ॻͷߋ৽طଘػೳͰ࣮ݱ
-:$PSQPSBUJPO • ,VCF "1*4FSWFSͷΤϯυϙΠϯτˡ-#ɾυϝΠϯ࡞ˍ4"/ͷमਖ਼ • $"ͷϋογϡˡ • ೝূ༻ͷ#PPUTUSBQτʔΫϯ ,VCFBEN
+PJOͷͨΊʹ
-:$PSQPSBUJPO • ,VCFSOFUFTͰ௨৴ͷ҉߸ԽͷͨΊʹ5-4௨৴Λ׆༻ • ݪଇɺڞ௨ͷ$"Λ༻͍ͯαʔόʔΫϥΠΞϯτূ໌ॻΛੜ • ࣄલʹ͞Εͨ$"ূ໌ॻΛ༻͍ͯ௨৴Λݕূ • ֤OBNFTQBDFʹLVCFSPPUDBDSU $POGJH.BQͱͯ͠͞Ε͍ͯΔ
• ˢ͜ΕΛ༻͍ͯLVCFBEN༻ʹ$"ͷϋογϡΛੜ ,VCFSOFUFTͱ$"ূ໌ॻ
-:$PSQPSBUJPO • ,VCF "1*4FSWFSͷΤϯυϙΠϯτˡ-#ɾυϝΠϯ࡞ˍ4"/ͷमਖ਼ • $"ͷϋογϡ ˡLVCFSPPUDBDSU$POGJH.BQ͔Βੜ • ೝূ༻ͷ#PPUTUSBQτʔΫϯ ˡ
,VCFBEN +PJOͷͨΊʹ
-:$PSQPSBUJPO • Ϋϥελͷ࡞ϊʔυͷՃ༻ʹ༻ҙ͞Ε͍ͯΔೝূํࣜͷͨΊͷτʔΫϯ • BCDEFGBCDEFGͷΑ͏ͳܗࣜ • CPPUTUSBQLVCFSOFUFTJPUPLFO ܕͷ4FDSFUͱͯ͠ཧ • ҎԼͷϑϥάΛઃఆͯ͠༗ޮԽ
• LVCFBQJTFSWFSFOBCMFCPPUTUSBQUPLFOBVUI • LVCFDPOUSPMMFSNBOBHFS DPOUSPMMFST UPLFODMFBOFS CPPUTUSBQTJHOFS #PPUTUSBQτʔΫϯͱ https://kubernetes.io/docs/reference/access-authn-authz/bootstrap-tokens/
-:$PSQPSBUJPO • LVCFBEN UPLFODSFBUFίϚϯυͰ࡞Մ • ෦తʹ4FDSFUΛ࡞͍ͯ͠Δ͚ͩ • ˠLVCFBENҎ֎Ͱ൚༻తʹར༻Ͱ͖Δ #PPUTUSBQτʔΫϯͷੜ
https://kubernetes.io/docs/reference/access-authn-authz/bootstrap-tokens/
-:$PSQPSBUJPO • ,VCF "1*4FSWFSͷΤϯυϙΠϯτˡ-#ɾυϝΠϯ࡞ˍ4"/ͷमਖ਼ • $"ͷϋογϡ ˡLVCFSPPUDBDSU$POGJH.BQ͔Βੜ • ೝূ༻ͷ#PPUTUSBQτʔΫϯ ˡ༗ޮԽˍLVCFBEN
UPLFODSFBUF ,VCFBEN +PJOͷͨΊʹ
-:$PSQPSBUJPO ,VCFBEN +PJO LVCFBEN KPJODPOpHSVOLVCFBENLVCFBENKPJODPOpHZBNM
-:$PSQPSBUJPO ,VCFBEN +PJO ࣦഊʜ
-:$PSQPSBUJPO • 3#"$ͷઃఆ࿙Ε • 5-4#PPUTUSBQQJOH • ֤छઃఆ༻ͷ$POGJH.BQ • ʜ
Δ
-:$PSQPSBUJPO • #PPUTUSBQ τʔΫϯͰೝূͰ͖Δ͚ͩͰಈ͔ͳ͍ • ೝՄઃఆඞཁ • /PEFҰཡͷऔಘ • $43ؔ࿈
3#"$ͷઃఆ
-:$PSQPSBUJPO ,VCFBENͷ3#"$ੜίʔυ IUUQTHJUIVCDPNLVCFSOFUFTLVCFSOFUFTCMPCNBTUFSDNE LVCFBENBQQDNEQIBTFTJOJUCPPUTUSBQUPLFOHP
-:$PSQPSBUJPO • 3#"$ͷઃఆ࿙Εˡ,VCFBENΛࢀߟʹ3PMFCJOEJOH࡞ • 5-4#PPUTUSBQQJOH • ֤छઃఆ༻ͷ$POGJH.BQʜ Δ
-:$PSQPSBUJPO • ,VCFMFUΫϥΠΞϯτূ໌ॻΛ༻͍ͯ"1*4FSWFSͱN5-4Ͱ௨৴ • #PPUTUSBQUPLFOىಈ࣌ͷΈ༻ • ΫϥΠΞϯτূ໌ॻ$43"1*Λ༻͍ͯLVCFMFUࣗͰੜՄೳ • $43 $FSUJGJDBUF
4JHOJOH 3FRVFTU • ,5)8ͰखಈͰੜ • ैདྷΫϥελͰ༗ޮʹͳ͍ͬͯͳ͔ͬͨ • ,VCFBEN͚ʹ༗ޮԽ • LVCFDPOUSPMMFSNBOBHFSDMVTUFSTJHOJOHLFZGJMF DMVTUFSTJHOJOHDFSUGJMF $43ͱ,VCFMFUͷ5-4#PPUTUSBQQJOH https://kubernetes.io/docs/reference/access-authn-authz/kubelet-tls-bootstrapping/
-:$PSQPSBUJPO • 3#"$ͷઃఆ࿙Εˡ,VCFBENΛࢀߟʹ3PMFCJOEJOH࡞ • 5-4#PPUTUSBQQJOHˡ$43ͷ༗ޮԽ • ֤छઃఆ༻ͷ$POGJH.BQ • ʜ
Δ
-:$PSQPSBUJPO ,VCFBENͷઃఆཧ • ઃఆϑΝΠϧΛ$POGJH.BQͱͯ͠ཧ • LVCFBENDPOGJH • LVCFMFUDPOGJH • LVCFQSPYZ
• طଘΫϥελͷઃఆΛݩʹੜ ,VCFBENʹ͓͚Δઃఆཧ
-:$PSQPSBUJPO • 3#"$ͷઃఆ࿙Εˡ,VCFBENΛࢀߟʹ3PMFCJOEJOH࡞ • 5-4#PPUTUSBQQJOHˡ$43ͷ༗ޮԽ • ֤छઃఆ༻ͷ$POGJH.BQˡطଘΫϥελͷઃఆΛݩʹੜ • ʜ
Δ
-:$PSQPSBUJPO • ,VCFBEN KPJO༻ͷઃఆϑΝΠϧ४උ • apiserver endpoint • CA ハッシュ
• Bootstrapトークン • ͦͷଞඞཁͳௐ • RBAC • Certificate Signing Request API • 設定⽤ConfigMap • … ·ͱΊɿ8PSLFS/PEFՃʹඞཁͳमਖ਼
-:$PSQPSBUJPO • ҟͳΔઃఆͷίϯϙʔωϯτߋ৽ • 3BODIFS SLF ˠ,VCFBEN • ϊʔυΛ̍ͭͣͭೖΕସ͑ •
࠷ऴతʹશͯͷϊʔυɾίϯϙʔωϯτΛߋ৽ ઓུɿϊʔυΛͭͣͭೖΕସ͑Δ ࠶ܝ
-:$PSQPSBUJPO $POUSPM1MBOFϊʔυΛೖΕସ͑Δʹʁ Control Plane Worker Control Plane Control Plane
Worker Worker
-:$PSQPSBUJPO • ൿີݤɾূ໌ॻͷෳ • FUDEͷϝϯόʔཧ • ʜ $POUSPM1MBOFϊʔυՃͷ՝
-:$PSQPSBUJPO • σϑΥϧτಈ࡞Ͱ ,VCFBEN͕ࣗূ໌ॻɾൿີݤΛੜ • ࢦఆύεʹஔ͢Δ͜ͱͰ$"ূ໌ॻΛ͢͜ͱ͕Ͱ͖Δ • طଘΫϥελ͚ͷূ໌ॻɾൿີݤΛίϐʔ • σΟετϦϏϡʔγϣϯຖʹཧํ๏͕ҟͳΔ
• $MVTUFS"1*Ͱ.BOBHFNFOU$MVTUFSʹ໋໊نଇʹԊͬͯ4FDSFUΛ࡞Ε0, ,VCFBENͱূ໌ॻɾൿີݤ
-:$PSQPSBUJPO • ൿີݤɾূ໌ॻͷෳˡطଘΫϥελ͔Βίϐʔ • FUDEͷϝϯόʔཧ • ʜ $POUSPM1MBOFϊʔυՃͷ՝
-:$PSQPSBUJPO • $POUSPM1MBOF /PEFͷՃɺআ࣌ʹFUDEΫϥελΛૢ࡞͢Δඞཁ͕͋Δ • ৽نϝϯόʔͷՃ࣌FUDEͷىಈ࣌ʹطଘϝϯόʔͷΤϯυϙΠϯτࢦఆ • طଘϝϯόʔͷআ࣌ରϝϯόʔΛΫϥελ͔Βআ • FUDEͷΤϯυϙΠϯτ͕Θ͔Βͳ͚Εૢ࡞Ͱ͖ͳ͍
• ˠͲ͏ͬͯϝϯόʔͷΤϯυϙΠϯτΛཧ͢Δʁ &UDEϝϯόʔཧͷඞཁੑ
-:$PSQPSBUJPO • FUDELVCFMFU TUBUJDQPEͱ࣮ͯ͠ߦ • )PTU/FUXPSLϞʔυ • ,VCFSOFUFT"1*ܦ༝Ͱใऔಘ • -BCFMͰFUDE
1PETΛࣝผ • DPNQPOFOUFUDE • UJFSDPOUSPMQMBOF • ΤϯυϙΠϯτ1PEͷ"OOPUBUJPOʹ֨ೲ • kubeadm.kubernetes.io/etcd.advertise-client-urls ैདྷͷ&UDEϝϯόʔཧ control-1 (IP: 10.0.0.1) containerd kubelet 通常Pod etcd Pod listen at 10.0.0.1:2379
-:$PSQPSBUJPO • ैདྷʢ3BODIFSʣ%PDLFSίϯςφͱͯ͠ FUDEΛ࣮ߦ • )PTUOFUXPSLϞʔυ • FUDE%PDLFSίϯςφ3BODIFS͕ཧ • ,VCFSOFUFT
"1*͔ΒFUDEίϯςφ ૢ࡞औಘͰ͖ͳ͍ ैདྷͷ&UDEϝϯόʔཧ ཧ control-1 (IP: 10.0.0.1) containerd kubelet 通常Pod Etcd コンテナ Docker listen at 10.0.0.1:2379
-:$PSQPSBUJPO μϛʔ1PEʹΑΔFUDEϝϯόʔใͷࠂ &UDEϝϯόʔཧͷղܾࡦ ཧ control-1 (IP: 10.0.0.1) containerd kubelet
ダミー etcd Pod Etcd コンテナ Docker listen at 10.0.0.1:2379
-:$PSQPSBUJPO • ൿີݤɾূ໌ॻͷෳˡطଘΫϥελ͔Βίϐʔ • FUDEͷϝϯόʔཧˡμϛʔ1PEΛஔ • ʜ ·ͱΊ$POUSPM1MBOFϊʔυՃͷ՝
-:$PSQPSBUJPO Ҡߦྃ Control Plane Worker Control Plane Control Plane
Worker Worker
-:$PSQPSBUJPO l ΦϖϨʔγϣϯͷࣗಈԽɾίϯτϩʔϥʔԽɾ"1*Խ l 3BODIFS$MVTUFS"1*ίϯτϩʔϥͱͷڠௐಈ࡞ l Ҡߦதͷૢ࡞ͷࢭ l ,VCFBENઃఆϑΝΠϧͷੜ l
ࡉ͔͍ΧελϜػೳͷରԠ l ࢹγεςϜͷҠߦ l ʜ ͦͷଞͷ
-:$PSQPSBUJPO • σΟετϦϏϡʔγϣϯʹґΒͣLVCFSOFUFTͷجຊίϯϙʔωϯτڞ௨ • LVCFBQJTFSWFS LVCFMFU FUD • खಈͰઃఆ͢ΕҟͳΔσΟετϦϏϡʔγϣϯΛҠߦ͢Δ͜ͱՄೳ •
l,VCFSOFUFTUIF )BSE8BZz͠·͠ΐ͏ ·ͱΊ
-:$PSQPSBUJPO ‒ IUUQTHJUIVCDPNLFMTFZIJHIUPXFSLVCFSOFUFTUIFIBSEXBZ ‒ IUUQTLVCFSOFUFTJPEPDTSFGFSFODFTFUVQUPPMTLVCFBENJNQMFNFOUBUJPOEFUBJMT ‒ IUUQTLVCFSOFUFTJPEPDTSFGFSFODFBDDFTTBVUIOBVUI[ • "VUIFOUJDBUJOHXJUI#PPUTUSBQ5PLFOT •
$FSUJGJDBUF4JHOJOH3FRVFTUT • 5-4CPPUTUSBQQJOH ࢀߟϦϯΫ
-:$PSQPSBUJPO 5IBOLZPV
-:$PSQPSBUJPO ɿσΟετϦϏϡʔγϣϯຖͷҧ͍ ,VCFBEN ,5)8 3BODIFS3,& ,VCFMFU࣮ߦڥ 4ZTUFNE 6OJU QBDLBHF 4ZTUFNE
6OJU TFMGCJOBSZ %PDLFSίϯςφ BQJTFSWFS࣮ߦڥ LVCFMFU TUBUJD QPE 4ZTUFNE 6OJU TFMGCJOBSZ %PDLFSίϯςφ LVCF QSPYZ࣮ߦڥ %BFNPOTFU %BFNPOTFU %PDLFSίϯςφ BQJTFSWFSˠFUDE௨৴ MPDBMIPTUͷΈ શϝϯόʔྻڍ MPDBMIPTUͷΈ ,VCFMFUˠBQJTFSWFS௨৴ -#ܦ༝ -# *1 "EESFTT ܦ༝ ,VCFMFU༻ূ໌ॻੜ खಈੜ ίϯτϩʔϥͰੜ