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
ControlPlane のいない Kubernetes クラスタを作る
Search
Kentaro
September 02, 2025
1
160
ControlPlane のいない Kubernetes クラスタを作る
Kubernetes 上に ControlPlane の各コンポーネントを載せ、kubeadm で join させることにより、ControlPlane をマネージドにしたお話です
Kentaro
September 02, 2025
Tweet
Share
More Decks by Kentaro
See All by Kentaro
Recap - 認可の標準仕様「AuthZEN」
beah_s1
1
390
ClusterAPI on Proxmoxを実装してみた(進捗僅少)
beah_s1
2
380
おうちk8sクラスタのための外部ロードバランサーを用意した話
beah_s1
0
120
〜もう迷子にならない!〜BLEビーコンで屋内GPS、そこで犯した過ち
beah_s1
0
190
レシートプリンタのSDKが充実してたことを語りたい話
beah_s1
0
770
Featured
See All Featured
Game over? The fight for quality and originality in the time of robots
wayneb77
1
74
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
130
Typedesign – Prime Four
hannesfritz
42
2.9k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
54
48k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
3k
Navigating Team Friction
lara
191
16k
The SEO Collaboration Effect
kristinabergwall1
0
320
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Darren the Foodie - Storyboard
khoart
PRO
0
2.1k
Fireside Chat
paigeccino
41
3.8k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.3k
The Curious Case for Waylosing
cassininazir
0
200
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 ϢʔβʔͷܭࢉࢿݯͰಈ͔͍ͯͨ͠ͷΛαʔϏεఏڙऀଆʹدͤΔͨΊɺӡ༻ අ༻ͷ҈ʹӨڹ͕🥹