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
180
Recap - 認可の標準仕様「AuthZEN」
beah_s1
1
490
ClusterAPI on Proxmoxを実装してみた(進捗僅少)
beah_s1
2
410
〜もう迷子にならない!〜BLEビーコンで屋内GPS、そこで犯した過ち
beah_s1
0
200
レシートプリンタのSDKが充実してたことを語りたい話
beah_s1
0
800
Featured
See All Featured
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
230
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.8k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
11k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
360
Making the Leap to Tech Lead
cromwellryan
135
10k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
260
Typedesign – Prime Four
hannesfritz
42
3.1k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.1k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
680
Why Our Code Smells
bkeepers
PRO
340
58k
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*Ͱઃఆ͕Ͱ͖Δ
• ࣮ʹ·͍ͩͱ͜Ζ͕͋Δ͕ɺ͓͏ͪΫϥελͷӡ༻ෛՙΛܰݮ͢Δ͜ͱ ͕Ͱ͖ͨ
࣮ͨ͠ͷ͕ͪ͜Βʹ্͕ͬͯ·͢