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
ControlPlane のいない Kubernetes クラスタを作る
Search
Kentaro
September 02, 2025
200
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ControlPlane のいない Kubernetes クラスタを作る
Kubernetes 上に ControlPlane の各コンポーネントを載せ、kubeadm で join させることにより、ControlPlane をマネージドにしたお話です
Kentaro
September 02, 2025
More Decks by Kentaro
See All by Kentaro
Recap - 認可の標準仕様「AuthZEN」
beah_s1
1
520
ClusterAPI on Proxmoxを実装してみた(進捗僅少)
beah_s1
2
420
おうちk8sクラスタのための外部ロードバランサーを用意した話
beah_s1
0
150
〜もう迷子にならない!〜BLEビーコンで屋内GPS、そこで犯した過ち
beah_s1
0
210
レシートプリンタのSDKが充実してたことを語りたい話
beah_s1
0
800
Featured
See All Featured
RailsConf 2023
tenderlove
30
1.6k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Between Models and Reality
mayunak
4
470
Documentation Writing (for coders)
carmenintech
77
5.5k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
33
5k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.9k
Context Engineering - Making Every Token Count
addyosmani
9
1.2k
The Curious Case for Waylosing
cassininazir
1
550
Design in an AI World
tapps
1
340
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
69
66k
So, you think you're a good person
axbom
PRO
2
2.2k
How to Think Like a Performance Engineer
csswizardry
28
2.8k
Transcript
גࣜձࣾαΠόʔΤʔδΣϯτѨ෦ݡଠ $POUSPM1MBOFͷ͍ͳ͍ ,VCFSOFUFTΫϥελΛ࡞Δ !,VCFSOFUFT.FFUVQ5PLZP
Ѩ෦ݡଠ!,"+1 ˙ॴଐ גࣜձࣾαΠόʔΤʔδΣϯτ $ZCFS"HFOUHSPVQ*OGSBTUSVDUVSF6OJU ˙ීஈ͍ͬͯΔ͜ͱ ͚ࣾͷ,BB4ج൫ͷ։ൃɾӡ༻ ˙झຯ ࣗαʔόʔɾ:PV5VCFͷྲྀ͠ݟɾΫϥ Ϧωοτ َ໓ͷਕΛࠓߋཤम🫠
ࣗݾհ
w ϕΞϝλϧͷ,VCFSOFUFT্Ͱ0QFO4UBDLΛ ߏங w PQFOTUBDLIFMNΛ͏ͱɺ֤छίϯϙʔ ωϯτΛָΊʹσϓϩΠͰ͖Δ w Λ$/ʹׂΓͯ w ͦͷ্ʹɺ$MVTUFS"1*Ͱ,VCFSOFUFTΫϥε
λΛߏங w ଞʹɺ71/༻ͷ7..JOFDSBGUαʔό ʔ͕Քಇ w ཧճઢࣗͱڞ༗ͭͭ͠ɺ-"/ಠཱ ࣗαʔόʔͷ͝հ
$POUSPM1MBOFͷ͍ͳ͍ ,VCFSOFUFTΫϥελ
🤔
7.ͳΔ͘ένΓ͍ͨ w $/ʹͰ͖ΔϚγϯݶΒΕΔ w ͳΔ͘Φʔόʔίϛοτͨ͘͠ͳ͍ͨΊ ५ͳίΞɾϝϞϦ༰ྔ w ϒʔτσΟεΫΛஔ͘͜ͱ͕Ͱ͖Δ͚ͩͷετϨʔδ༰ྔ w ͍͘Β$POUSPM1MBOFͱ͍͑Ͳ
Θ͟Θ͟7.Λ࡞ͨ͘͠ͳ͍ w 8PSLFS/PEFʹͰ͖Δ͚ͩϑϧϕοτ͍ͨ͠
ऍᷟʹઆ๏Ͱ͕͢ɾɾɾ w $POUSPM1MBOFʹҎԼͷΑ͏ͳίϯϙʔ ωϯτ͕Δ w LVCFBQJTFSWFS w FUDE w LVCFTDIFEVMFS
w DPOUSPMMFSNBOBHFS w ݴ͏·Ͱͳ͘ ͍ͣΕඞਢίϯϙʔω ϯτͰ͋Γɺͳ͍ͱΫϥελ͕Γཱͨͳ ͍ Ұൠతʹ IUUQTLVCFSOFUFTJPEPDTDPODFQUTPWFSWJFXDPNQPOFOUTΑΓ
w (,&ͳͲͰ࡞ͨ͠ΫϥελͰk get node͠ ͨࡍɺ$POUSPM1MBOFΛSPMFʹ࣋ͭϊʔυ͕͍ͳ ͍ w (,&Ͱɺ(PPHMF͕$POUSPM1MBOFͷίϯϙʔ ωϯτΛཧ͢Δ w
ͳͷͰɺϢʔβʔͷϓϩδΣΫτ͔Βݟ͑ͳ ͍ w ҎԼͷ௨৴͕Ͱ͖ΕɺϊʔυͷଘࡏࣗମΘ Εͳͦ͞͏ w "1*4FSWFS ↔︎ LVCFMFU w ֤छίϯϙʔωϯτˠ"1*4FSWFS ҰํͰ IUUQTDMPVEHPPHMFDPNLVCFSOFUFTFOHJOFEPDTDPODFQUTDMVTUFSBSDIJUFDUVSF IMKBΑΓ
ߏํ w $POUSPM1MBOFʹ͍Δ͖ίϯϙʔωϯτ͕ಈ͘ઐ༻ͷΫϥελΛ࡞ w Ϋϥελ͝ͱʹҎԼͷίϯϙʔωϯτΛσϓϩΠ w FUDE w LVCFBQJTFSWFS w
LVCFTDIFEVMFS w DPOUSPMMFSNBOBHFS w 8PSLFS/PEF͔Βkubeadm joinͰ͖ΔΑ͏ʹ͢Δ w $MVTUFS"1*1SPWJEFSԽ͢Δͱ͖ʹɺͳΔ͘$"#1,Λྲྀ༻͍ͨ͠
w DFSUNBOBHFSͰඞཁͳূ໌ॻ Λ࡞Δ w ,VCFSOFUFT$" w FUDE$" w GSPOUQSPYZ$" w
,VCFSOFUFTUIF)BSEXBZ ,VCFSOFUFT%PDTࢀߟʹ ূ໌ॻΛ࡞Δ IUUQTLVCFSOFUFTJPKBEPDTTFUVQCFTUQSBDUJDFTDFSUJ fi DBUFTΑΓ
FUDE w 4UBUFGVM4FUͰ࡞ w ϗετ໊ΛݻఆͰ͖Δ w σʔλӬଓ༻ʹ17$Λ௫Ή w ͜ͷลΓΛΦϓγϣϯͰઃఆ w
ϗετ໊ w ূ໌ॻؔͷઃఆ w ΫϥελΛΉ63- ίϯϙʔωϯτͷߏ
LVCFBQJTFSWFS w #PPUTUSBQ5PLFOͰೝূͰ͖Δ Α͏ʹઃఆ͢Δ w ޙͰLVCFBEN͔ΒKPJO͍ͨ͠ ͨΊ w 4FSWJDF"DDPVOUͷ伴ϖΞखಈ Ͱ࡞ͬͨ
w ͜ΕͲ͏͢Ε͍͍Μ ͩɾɾɾʁݟ͋Ε🙇 ίϯϙʔωϯτͷߏ
DPOUSPMMFSNBOBHFS w LVCFDPO fi HΛखಈͰ࡞Δඞཁ͕ ͋Δ w ৄࡉޙड़ w #PPUTUSBQ5PLFOपΓ͕ѻ͑Δ
Α͏ʹDPOUSPMMFSΛՃ w #PPUTUSBQ5PLFOΛ࡞ͨ͠ ࡍʹɺͦΕʹରԠ͢Δ+84Λ ࡞ͯ͘͠ΕΔΑ͏ʹͳΔ ίϯϙʔωϯτͷߏ
LVCFTDIFEVMFS w LVCFDPO fi HΛखಈͰ࡞Δඞཁ͕ ͋Δ w ৄࡉޙड़ w BQJTFSWFSDPOUSPMMFSNBOBHFS
ʹൺΔͱ͔ͳΓ͋ͬ͞Γ ίϯϙʔωϯτͷߏ
w ূ໌ॻΛ࡞ ͦͷূ໌ॻΛݩ ʹLVCFDPO fi HΛ࡞ w ͜ͷล$POUSPMMFSͰ͍͍ײ͡ ʹ͍͔ͨ͠ LVCFDPO
fi HपΓ
w ֎෦͔ΒΞΫηεͤ͞ΔͨΊͷ ϩʔυόϥϯαʔઃఆ w ,VCFSOFUFT্ͷ1PEͷͨΊ type: LoadBalancer 4FSWJDFΛ࡞ΕΑ͍ BQJTFSWFSͷ-#
LVCFBENಛ༗ͷઃఆ w ,VCFSOFUFT5IF)BSE8BZͰɺखಈͰূ໌ॻΛ࡞ΓɺLVCFMFUʹט·ͤΔઃఆΛೖΕ Δ w kubeadm token createͰ࡞ͨ͠#PPUTUSBQ5PLFOͰΫϥελʹࢀՃ͢Δ߹ɺ ͏গ͠ઃఆ͕ඞཁ w
ূ໌ॻΛࢀর͢Δݖݶ ূ໌ॻΛ%JTDPWFSͰ͖Δঢ়ଶʹ͢Δ w /PEFϦιʔεΛࢀর͢Δݖݶ w &UDʜ w LVCFBENͷιʔείʔυΛࢀর࣮ͭͭ͠
w #PPUTUSBQ5PLFO͜ͷΑ͏ͳ NBOJGFTUͰߏ͞ΕΔ w +PJOͷͱ͖ʹࢦఆ͢Δ5PLFO <token-id>.<token-secret> Ͱߏ͞ΕΔ w খจࣈӳͰߏ ܻ͑͞क
͍ͬͯΕࣗ༝ʹ࡞ͬͯΑͦ͞ ͏ #PPUTUSBQ5PLFO system:bootstrappers:kubeadm:default-node-token true
ূ໌ॻपΓ w LVCFMFU͕௫Ήূ໌ॻͷ$43Λ ࡞Ͱ͖ΔΑ͏ʹ͢Δ ࣗಈঝ ೝͰ͖ΔΑ͏ʹ͢Δ w ࡞ͨ͠/PEF͕SPUBUJPOͰ͖ ΔΑ͏ʹ͢Δ 3#"$ͷઃఆ
/PEFपΓ w /PEFϦιʔεΛHFUͰ͖ΔΑ ͏ʹ͢Δ 3#"$ͷઃఆ
$PO fi HपΓ w $MVTUFS$PO fi H,VCFMFU$PO fi H Λ%JTDPWFSͰ͖ΔΑ͏ʹ͢Δ
3#"$ͷઃఆ
͜͜·Ͱઃఆͯ͠ kubeadm join ͢Δͱ🎉 ˞$/*ͷΠϯετʔϧผ్ඞཁ
1SPT w ͍ίετͰ$POUSPM1MBOFΛϚωʔδυʹͰ͖Δ w ,VCFSOFUFTΫϥελ্ʹ$POUSPM1MBOF$PNQPOFOUTΛσϓϩΠͰ͖Δ w 7.Λ࡞Βͳͯ͘Α͍ w ίϯςφͷ߹$POUSPM1MBOFͷ্ཱ͍ͪ͛ w
$POUSPM1MBOFΛݟͤͳ͍͜ͱͰɺϢʔβʔͷೝෛՙԼ͕Δ w ϩʔυόϥϯαʔͷઃఆɺূ໌ॻཧͳͲΛ,VCFSOFUFT"1*্Ͱߦ͑Δͷخͦ͠͏ w ಛʹূ໌ॻͷߋ৽पΓ উखʹߋ৽ͯ͠͠·͏ͷߟ͑ͷ͕ͩ
$POT w $POUSPM1MBOF1SPWJEFSͷࣗ࡞͕ඞཁ w *OGSBTUSVDUVSF1SPWJEFSͱҧ͍ɺݟগͳͦ͏ w ϊΠδʔωΠόʔͷӨڹΛड͚ͦ͢͏ w Ϣʔβʔ͝ͱʹϦιʔεΛಠཱͤ͞Δ͜ͱͰղܾͰ͖Δ w
αʔϏεఏڙऀଆͷཧίετߴ͍ w ϢʔβʔͷܭࢉࢿݯͰಈ͔͍ͯͨ͠ͷΛαʔϏεఏڙऀଆʹدͤΔͨΊɺӡ༻ අ༻ͷ҈ʹӨڹ͕🥹