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
おうちk8sクラスタのための外部ロードバランサーを用意した話
Search
Kentaro
April 25, 2024
140
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
おうちk8sクラスタのための 外部ロードバランサーを用意した話
Kentaro
April 25, 2024
More Decks by Kentaro
See All by Kentaro
ControlPlane のいない Kubernetes クラスタを作る
beah_s1
1
180
Recap - 認可の標準仕様「AuthZEN」
beah_s1
1
470
ClusterAPI on Proxmoxを実装してみた(進捗僅少)
beah_s1
2
400
〜もう迷子にならない!〜BLEビーコンで屋内GPS、そこで犯した過ち
beah_s1
0
200
レシートプリンタのSDKが充実してたことを語りたい話
beah_s1
0
790
Featured
See All Featured
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
160
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
Raft: Consensus for Rubyists
vanstee
141
7.5k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.5k
エンジニアに許された特別な時間の終わり
watany
107
250k
Abbi's Birthday
coloredviolet
2
8k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
250
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
400
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
How STYLIGHT went responsive
nonsquared
100
6.2k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
11k
Transcript
͓͏ͪLTΫϥελͷͨΊͷ ֎෦ϩʔυόϥϯαʔΛ༻ҙͨ͠
ࣗݾհ apiVersion: lt.beah.jp/v1 kind: Profile metadata: name: “Ѩ෦ݡଠ” spec: belongs:
- “౦༸େֶ ใ࿈ܞֶ෦” technologies: - “Golang” - “Kubernetes” - “Swift” - “Ruby on Rails” - “Nuxt.js” - “Google Apps Script” - “Google Cloud Platform” hobbies: - “pictures” - “YouTube”
͓͏ͪ,VCFSOFUFTͷߏ • ࣗˠύϒϦοΫΫϥυˠϋΠϒϦουˠࣗ • ࠷ۙͷԁ҆ड͚ͯɺશࣗʹγϑτ • ߹ܭͰͷ/PEF • $POUSPM1MBOFʷˠ ϥζύΠ
• 8PSLFS/PEFʷˠ ී௨ͷ1$ • -PBE#BMBODFSʷˠ ݹ͍*OUFM.BDNJOJ • શ͕ͯ,VCFSOFUFT্Ͱಈ͍͍ͯΔ • $FQIʹΑΔࢄετϨʔδ ˠ )%%Ͱ߹ܭ5# • "SHP$%ˠ (JU)VC্ͷ.BOJGFTUʹΑΔ(JU0QT • )BTIJ$PSQ7BVMUˠ (JU0QTͷͨΊͷػີใཧ • .BTUPEPOˠ ΠϯϓϨκϯϏʹݏؾ͕ࠩͯ͠ซ༻த • ϒϩά • ফඅిྗతʹ8ఔ • ӡ༻ίετΛߟ͑ͯύϒϦοΫΫϥυΑΓ҆Ձ
ϩʔυόϥϯαʔ͕ඞཁͳഎܠ • $POUSPM1MBOFͷ)"ԽΛߦ͍͍ͨ • LVCFBQJTFSWFS͕ෳ͋ΔͨΊɺϩʔυόϥϯγϯά͍ͨ͠ • /PEFͷμϯ࣌ʹɺͦͷ/PEFʹϩʔυόϥϯγϯά͠ͳ͍ • .FUBM-#ͰΓͳ͍ •
#(1ΛΕΔϧʔλʔ͕ͳ͍߹-FBEFS4QFBLFS͕"31ʹԠ͢Δ͜ͱͰɺ֎෦*1Λ -JTUFO͢Δ • ͳͷͰɺݫີʹෛՙࢄͰͳ͍ • ७ਮʹϩϚϯ͕͋Δ • ύϒϦοΫΫϥυͬΆ͍-#BB4ɺͬͯΈͨ͘ͳ͍Ͱ͔͢ʁ
)"1SPYZͰϩʔυόϥϯαʔΛ࡞Δ • OHJOYͷΑ͏ͳϦόʔεϓϩΩγ • OHJOYͰϩʔυόϥϯγϯά͢ΔΑΓύϑΥʔϚϯεߴ • ಛʹਂ͘৮Ε·ͤΜ • ΏʔͯΑ͘Βͳ͍··ͬͯΔɾɾɾ •
)"1SPYZ LFFQBMJWFEͰɺ)"1SPYZࣗମߴՄ༻ੑΛऔΔ͜ͱ͕Ͱ͖ Δ • LFFQBMJWFEͰԾ*1ΛCJOEˠ"DUJWFͷ)"1SPYZμϯ࣌ʹ4UBOECZ͕Ծ*1 ΛCJOEͯ͠ಈ͍ͯ͘ΕΔ
)"1SPYZͷઃఆ • )"1SPYZΛΠϯετʔϧͨ͠Ϛγϯͷ/*$ʹɺ*1ΞυϨε ΛόΠϯυͤ͞Δ • ͜͜ͰLFFQBMJWFEΛ͏ • LFFQBMJWFEΛΘͳ͍ͳΒOFUQMBOͱ͔Ͱઃఆͯ͠ྑͦ͞͏ • FUDIBQSPYZIBQSPYZDGHΛઃఆ
• 'SPOUFOEɺ)"1SPYZଆͷઃఆ CJOEͰ*1ΞυϨεΛԡ͑͞ ͍ͯΔ • #BDLFOEɺ4FSWFSͷू߹ • 4FSWFSɺసૹઌͷ*1ΞυϨεɾϙʔτͷର • ઃఆϑΝΠϧΛಡΈࠐ·ͤΔ͜ͱͰɺͦͷ*1ΞυϨεͷΞ Ϋηε͕ɺ/PEF1PSUʹసૹ͞ΕΔ • /PEF1PSU͔Βઌతͷίϯςφʹసૹ͞ΕΔ
ख࡞ۀͰΔͷͭΒ͍ • /PEF1PSU4FSWJDFΛ࡞ޙɺׂΓͯΒΕ ͨ/PEF1PSUΛௐͯɺ)"1SPYZͷઃఆΛ ߦ͏ 44)Ͱೖͬͯઃఆ • ઃఆ߲͕ 'SPOUFOE#BDLFOE#BDLFOE4FSWFSͷ ͭʹΘͨΔ
• আ͢Δࡍɺ͜ΕΒͷઃఆΛআ͢Δ͜ͱʹ ͳΔ • ͦͷลͷࣗಈԽ͕LTͷϝϦοτͳͷʹɺख ࡞ۀ͕ൃੜͯ͠͠·͍ͬͯΔͷ͕ྑ͘ͳ͍
ख࡞ۀͰΔͷͭΒ͍ • /PEF1PSU4FSWJDFΛ࡞ޙɺׂΓͯΒΕ ͨ/PEF1PSUΛௐͯɺ)"1SPYZͷઃఆΛ ߦ͏ 44)Ͱೖͬͯઃఆ • ઃఆ߲͕ 'SPOUFOE#BDLFOE#BDLFOE4FSWFSͷ ͭʹΘͨΔ
• আ͢Δࡍɺ͜ΕΒͷઃఆΛআ͢Δ͜ͱʹ ͳΔ • ͦͷลͷࣗಈԽ͕LTͷϝϦοτͳͷʹɺख ࡞ۀ͕ൃੜͯ͠͠·͍ͬͯΔͷ͕ྑ͘ͳ͍ ͬͺ ʮUZQF-PBE#BMBODFSʯ ͍͍ͨʂʂʂ
UZQF-PBE#BMBODFSͷͨΊʹ • &,4(,&Ͱɾɾɾ • UZQF-PBE#BMBODFSͷ4FSWJDF͕࡞͞ΕΔͱɺLT ֎෦ʹ/-#($-#Λ࡞͢Δ • LT্ͷNBOJGFTUʹج͍ͮͯʮDMPVEQSPWJEFSʯ͕ "84($1ͷ"1*Λୟ͍ͯϩʔυόϥϯαʔΛߏ͢ Δ
• ͦΕͧΕͷΫϥυ༻ʹ༻ҙ͞Ε͓ͯΓɺࣗ࡞0, • ,VCFSOFUFTTJHTͰཧ͞Ε͍ͯͳ͍ͷ %JHJUBM0DFBO0SBDMF$MPVEɺ-JOPEFͳͲ ଟ͍ • )"1SPYZ༻ʹDMPVEQSPWJEFSΛ։ൃ͢ΕɺLTͷ ΈͷதͰཧΛࣗಈԽͰ͖Δ
UZQF-PBE#BMBODFSͷͨΊʹ • )"1SPYZ"1*ͰઃఆΛߦ͏͜ͱ ͕Ͱ͖Δ • "1*Λୟ͘ͱɺઃఆϑΝΠϧͷॻ͖ ࠐΈ ઃఆөΛߦͬͯ͘ΕΔ • )"1SPYZͱผͷϓϩηεͰ࣮ߦ͢
Δܗ • ΦϨΦϨDMPVEQSPWJEFS͔Β )"1SPYZͷ"1*Λୟ͚ྑͦ͞͏
Δ͜ͱ؆୯ • -PBE#BMBODFS4FSWJDF࡞࣌ • 4FSWJDFͷ*1ׂΓͯ • ֤8PSLFS/PEFͷ*1ͱɺ4FSWJDFͷ/PEF1PSU͔Βɺ4FSWFSͱ#BDLFOEΛ࡞ • ׂΓͯͨ*1ͱɺ4FSWJDFͷ1PSU͔Βɺ#JOEͱ'SPOUFOEΛ࡞ •
-PBE#BMBODFS4FSWJDFߋ৽࣌ • Ճɾআ͞Εͨ/PEFͷ*1ͱ/PEF1PSUʹରԠ͢Δ4FSWFSͱ#BDLFOEΛՃɾআ • Ճɾআ͞Εͨ1PSUʹରԠ͢Δ#JOEΛՃɾআ • -PBE#BMBODFS4FSWJDFআ࣌ • ؔ࿈͢Δ#JOE'SPOUFOE4FSWFS#BDLFOEΛআ • ࣮ࡍʹ'SPOUFOE#BDLFOEͷআͷΈͰ0, ࿈ಈͯ͠#JOE4FSWFSআ͞ΕΔ
؆୯ɾɾɾʁ • ىಈ࣌ • αϙʔτ͍ͯ͠Δ$MPVE1SPWJEFSΛฦ͢ 4FSWJDFͷΈαϙʔτɾ/PEF*OTUBODFཧ͠ͳ͍ • $MPVE1SPWJEFSͷొ • -PBE#BMBODFS4FSWJDF࡞࣌
• 4FSWJDFͷ*1ׂΓͯ • ֤8PSLFS/PEFͷ*1ͱɺ4FSWJDFͷ/PEF1PSU͔Βɺ4FSWFSͱ#BDLFOEΛ࡞ • ׂΓͯͨ*1ͱɺ4FSWJDFͷ1PSU͔Βɺ#JOEͱ'SPOUFOEΛ࡞ • $POUSPMMFSىಈ࣌ʹ͜ͷ͕ؔ ͳ͔ͥ ݺΕΔͷͰɺͦͷ߹4LJQ • -PBE#BMBODFS4FSWJDFߋ৽࣌ • Ճɾআ͞Εͨ/PEFͷ*1ͱ/PEF1PSUʹରԠ͢Δ4FSWFSͱ#BDLFOEΛՃɾআ • Ճɾআ͞Εͨ1PSUʹରԠ͢Δ#JOEΛՃɾআ • -PBE#BMBODFS4FSWJDFআ࣌ • ؔ࿈͢Δ#JOE'SPOUFOE4FSWFS#BDLFOEΛআ • ࣮ࡍʹ'SPOUFOE#BDLFOEͷআͷΈͰ0, ࿈ಈͯ͠#JOE4FSWFSআ͞ΕΔ
࣮ࡍͷ࣮ • LVCFSOFUFTDMPVEQSPWEFSͷɺ ͜ͷJOUFSGBDFΛ࣮͢ΕΑ͍ • ใऔಘɺϩʔυόϥϯαʔͷ࡞ɾ ߋ৽ɾআͷؔ • Πϕϯτൃੜ࣌ʹ͕ؔݺΕΔͷͰɺ ͦͷؔͰ)"1SPYZΛૢ࡞͢Δ
• (FU-PBE#BMBODFS(FU-PBE#BMBO DFS/BNFΑ͘Θ͔Βͳ͍ɾɾɾ
3#"$ͷઃఆ • 4FSWJDFͷঢ়ଶΛXBUDIͯ͠ɺߋ ৽͢ΔͨΊɺؔ࿈͢Δݖݶ͕ඞཁ • /PEFͷใΛ͍ͬͯΔ͕ɺ/PEF ͷݖݶඞཁͳ͍ɾɾɾʁ🤔 • 4FSWJDFʹର͢Δ&WFOUΛ࡞͢Δ ͨΊɺ&WFOUͷݖݶඞཁ
3#"$ͷઃఆ • 4FSWJDFͷঢ়ଶΛXBUDIͯ͠ɺߋ৽͢Δ ͨΊɺؔ࿈͢Δݖݶ͕ඞཁ • /PEFͷใΛ͍ͬͯΔ͕ɺ/PEFͷݖݶ ඞཁͳ͍ɾɾɾʁ🤔 • 4FSWJDFʹର͢Δ&WFOUΛ࡞͢ΔͨΊɺ &WFOUͷݖݶඞཁ
• -FBEFSબग़ͷͨΊͷ$POGJH.BQ -FBTFͷݖݶඞཁ • Ͳ͜ʹॻ͍ͯ͋ͬͨΜͩ😇
༨ஊ • UZQF-PBE#BMBODFS࣮ݱ͕ͨ͠ɺར༻Ͱ͖Δ*1ΞυϨεͭͷΈ • ࣗͳͷͰɾɾɾ • OHJOYJOHSFTTDPOUSPMMFSΛར༻ • OHJOYJOHSFTTDPOUSPMMFSʹΑͬͯ࡞͞ΕΔ4FSWJDF͕-PBE#BMBODFSͳ͚ͩ •
άϩʔόϧ*1ΞυϨε͕ෳ߱ͬͯ͘ΔڥɺಌΕ͕͋Γ·͢Ͷ • ࣗʹޫϑΝΠόʔຊΩπ͍ɾɾɾ • ͱ͜ΖͰɺ)"1SPYZ༻ͷ$MPVE1SPWJEFSͱ͔ɺΈΜͳߟ͑ͦ͏ͳͷͳͷ͕ͩɺͳ͍ͷ ͔ʁʁʁ🤔 • *OHSFTT$POUSPMMFS͋ͬͨ
·ͱΊ • $POUSPM1MBOFͷ)"Խʹͬͯಋೖͨ͠)"1SPYZΛɺΞϓϦέʔγϣϯ༻ͷ ֎෦ϩʔυόϥϯαʔͱͯ͠׆༻ • )"1SPYZͷઃఆΛख࡞ۀͰΔͷͭΒΈͳͷͰɺ$MPVE1SPWJEFSΛ࣮͢ Δ͜ͱͰɺύϒϦοΫΫϥυͷ,BB4ͷΑ͏ͳʮUZQF-PBE#BMBODFSʯΛ࣮ ݱ • )"1SPYZ"1*Ͱઃఆ͕Ͱ͖Δ
• ࣮ʹ·͍ͩͱ͜Ζ͕͋Δ͕ɺ͓͏ͪΫϥελͷӡ༻ෛՙΛܰݮ͢Δ͜ͱ ͕Ͱ͖ͨ
࣮ͨ͠ͷ͕ͪ͜Βʹ্͕ͬͯ·͢