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
Into the Great Unknown - MozCon
thekraken
41
2.6k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.6k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
480
Side Projects
sachag
455
43k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
52k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
420
How to train your dragon (web standard)
notwaldorf
97
6.7k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
220
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
780
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
580
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*Ͱઃఆ͕Ͱ͖Δ
• ࣮ʹ·͍ͩͱ͜Ζ͕͋Δ͕ɺ͓͏ͪΫϥελͷӡ༻ෛՙΛܰݮ͢Δ͜ͱ ͕Ͱ͖ͨ
࣮ͨ͠ͷ͕ͪ͜Βʹ্͕ͬͯ·͢