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
460
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スキマニのフロントエンド開発にDenoを採用した理由
lycorptech_jp
PRO
0
67
「コード品質向上のテクニック」連載継続の秘訣
lycorptech_jp
PRO
0
62
Tech Blogを書きやすい環境づくり
lycorptech_jp
PRO
1
240
Arakawa 101 Or How To Build a Data App by Python
lycorptech_jp
PRO
0
34
ドメイン駆動設計の実践により事業の成長スピードと保守性を両立するショッピングクーポン
lycorptech_jp
PRO
17
3.6k
LINEスキマニにおけるフロントエンド開発
lycorptech_jp
PRO
1
1.4k
Yahoo! ズバトクにおけるフロントエンド開発
lycorptech_jp
PRO
0
700
LINE Developersプロダクト(LIFF/LINE Login)におけるフロントエンド開発
lycorptech_jp
PRO
0
970
AI時代のデータセンターネットワーク
lycorptech_jp
PRO
1
540
Other Decks in Technology
See All in Technology
地方拠点で エンジニアリングマネージャーってできるの? 〜地方という制約を楽しむオーナーシップとコミュニティ作り〜
1coin
1
230
オブザーバビリティの観点でみるAWS / AWS from observability perspective
ymotongpoo
8
1.5k
スタートアップ1人目QAエンジニアが QAチームを立ち上げ、“個”からチーム、 そして“組織”に成長するまで / How to set up QA team at reiwatravel
mii3king
2
1.5k
Goで作って学ぶWebSocket
ryuichi1208
0
800
急成長する企業で作った、エンジニアが輝ける制度/ 20250214 Rinto Ikenoue
shift_evolve
3
1.3k
次世代KYC活動報告 / 20250219-BizDay17-KYC-nextgen
oidfj
0
260
プロセス改善による品質向上事例
tomasagi
2
2.6k
Developer Summit 2025 [14-D-1] Yuki Hattori
yuhattor
19
6.2k
OpenID Connect for Identity Assurance の概要と翻訳版のご紹介 / 20250219-BizDay17-OIDC4IDA-Intro
oidfj
0
280
ビジネスモデリング道場 目的と背景
masuda220
PRO
9
520
PHPカンファレンス名古屋-テックリードの経験から学んだ設計の教訓
hayatokudou
2
300
Classmethod AI Talks(CATs) #17 司会進行スライド(2025.02.19) / classmethod-ai-talks-aka-cats_moderator-slides_vol17_2025-02-19
shinyaa31
0
120
Featured
See All Featured
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
9
440
Large-scale JavaScript Application Architecture
addyosmani
511
110k
Building a Scalable Design System with Sketch
lauravandoore
461
33k
Optimizing for Happiness
mojombo
376
70k
Being A Developer After 40
akosma
89
590k
Fashionably flexible responsive web design (full day workshop)
malarkey
406
66k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.3k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Bash Introduction
62gerente
611
210k
YesSQL, Process and Tooling at Scale
rocio
172
14k
Git: the NoSQL Database
bkeepers
PRO
427
64k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
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༻ূ໌ॻੜ खಈੜ ίϯτϩʔϥͰੜ