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
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
Test your architecture with Archunit
thirion
2
2.4k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
520
The Mindset for Success: Future Career Progression
greggifford
PRO
0
520
Odyssey Design
rkendrick25
PRO
2
840
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
560
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.2k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.5k
Docker and Python
trallard
47
4.2k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
540
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.6k
Site-Speed That Sticks
csswizardry
13
1.5k
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 ϢʔβʔͷܭࢉࢿݯͰಈ͔͍ͯͨ͠ͷΛαʔϏεఏڙऀଆʹدͤΔͨΊɺӡ༻ අ༻ͷ҈ʹӨڹ͕🥹