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
How to Think Like a Performance Engineer
csswizardry
28
2.6k
Information Architects: The Missing Link in Design Systems
soysaucechin
0
970
Code Review Best Practice
trishagee
74
20k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
210
Rails Girls Zürich Keynote
gr2m
96
14k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
From π to Pie charts
rasagy
0
200
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
300
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.3k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
580
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
160
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*Ͱઃఆ͕Ͱ͖Δ
• ࣮ʹ·͍ͩͱ͜Ζ͕͋Δ͕ɺ͓͏ͪΫϥελͷӡ༻ෛՙΛܰݮ͢Δ͜ͱ ͕Ͱ͖ͨ
࣮ͨ͠ͷ͕ͪ͜Βʹ্͕ͬͯ·͢