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
140
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
360
ClusterAPI on Proxmoxを実装してみた(進捗僅少)
beah_s1
2
350
おうちk8sクラスタのための外部ロードバランサーを用意した話
beah_s1
0
120
〜もう迷子にならない!〜BLEビーコンで屋内GPS、そこで犯した過ち
beah_s1
0
190
レシートプリンタのSDKが充実してたことを語りたい話
beah_s1
0
760
Featured
See All Featured
Building Applications with DynamoDB
mza
96
6.6k
The Cult of Friendly URLs
andyhume
79
6.6k
A designer walks into a library…
pauljervisheath
208
24k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
114
20k
Making Projects Easy
brettharned
118
6.4k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
4 Signs Your Business is Dying
shpigford
185
22k
[RailsConf 2023] Rails as a piece of cake
palkan
57
5.9k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.7k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
Context Engineering - Making Every Token Count
addyosmani
4
160
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 ϢʔβʔͷܭࢉࢿݯͰಈ͔͍ͯͨ͠ͷΛαʔϏεఏڙऀଆʹدͤΔͨΊɺӡ༻ අ༻ͷ҈ʹӨڹ͕🥹