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
150
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
200
Recap - 認可の標準仕様「AuthZEN」
beah_s1
1
510
ClusterAPI on Proxmoxを実装してみた(進捗僅少)
beah_s1
2
410
〜もう迷子にならない!〜BLEビーコンで屋内GPS、そこで犯した過ち
beah_s1
0
210
レシートプリンタのSDKが充実してたことを語りたい話
beah_s1
0
800
Featured
See All Featured
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
69
65k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.5k
Optimizing for Happiness
mojombo
378
71k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
430
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
Bootstrapping a Software Product
garrettdimon
PRO
306
120k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
510
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
230
ラッコキーワード サービス紹介資料
rakko
1
4.8M
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
230
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
870
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
202
76k
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*Ͱઃఆ͕Ͱ͖Δ
• ࣮ʹ·͍ͩͱ͜Ζ͕͋Δ͕ɺ͓͏ͪΫϥελͷӡ༻ෛՙΛܰݮ͢Δ͜ͱ ͕Ͱ͖ͨ
࣮ͨ͠ͷ͕ͪ͜Βʹ্͕ͬͯ·͢