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
NGINX Ingress Controller を活用した Retty のサービス開発とモニタリング / NGINX ユーザー会 2022 春
Search
YuyaKoda
PRO
April 15, 2022
Technology
0
140
NGINX Ingress Controller を活用した Retty のサービス開発とモニタリング / NGINX ユーザー会 2022 春
https://f5-nginx.connpass.com/event/240414/
YuyaKoda
PRO
April 15, 2022
Tweet
Share
More Decks by YuyaKoda
See All by YuyaKoda
業務で使えるかもしれない…!?GitHub Actions の Tips 集 / CI/CD Test Night #7
ponkio_o
PRO
38
12k
aqua で始める CI-Friendly なツール管理
ponkio_o
PRO
2
810
set-terraform-matrix という Actions を作った / set-terraform-matrix-actions
ponkio_o
PRO
0
410
Retty における Signal Sciences の導入事例 / Fastly Yamagoya 2021
ponkio_o
PRO
0
3.6k
Amazon EKS を活用した個人開発環境の整備と自動化への取り組み / CNDT2021
ponkio_o
PRO
0
430
Terraform における秘匿情報管理 / Credentials management in Terraform
ponkio_o
PRO
0
300
Other Decks in Technology
See All in Technology
Dungeons and Dragons and Rails
joelq
0
100
止まらないLinuxシステムを構築する_高信頼性クラスタ入門
koedoyoshida
3
2.4k
中年男性がメインフレームから クラウドへキャリアシフトしてみた
uechishingo
1
420
Babylon.js JAPAN活動紹介 (2024/4)
limes2018
1
130
EM完全に理解した と思ったけど、 やっぱり何も分からなかった話 / EM Night Fukuoka #1
hirutas
0
310
障害対応をちょっとずつよくしていくための 演習の作りかた
heleeen
1
1.9k
認知症フレンドリーテックとスタックチャン
naokiuc
0
380
Gradle Build Scanを使ってビルドのことを知ろう potatotips #87
tomorrowkey
2
170
リテール金融(キャッシュレス・ネット銀行・ネット証券)の競争環境と経済圏
8maki
0
1.8k
今日からできる!簡単 .NET 高速化 Tips -2024 edition-
xin9le
7
4.9k
NewSQL Landscape
oracle4engineer
PRO
2
2.6k
require(ESM)とECMAScript仕様
uhyo
4
1k
Featured
See All Featured
Designing for humans not robots
tammielis
247
25k
Clear Off the Table
cherdarchuk
85
310k
GraphQLとの向き合い方2022年版
quramy
33
12k
The World Runs on Bad Software
bkeepers
PRO
61
6.7k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
34
8.9k
Bootstrapping a Software Product
garrettdimon
PRO
302
110k
Practical Orchestrator
shlominoach
183
9.7k
Typedesign – Prime Four
hannesfritz
36
2.1k
Into the Great Unknown - MozCon
thekraken
15
1k
Intergalactic Javascript Robots from Outer Space
tanoku
266
26k
Embracing the Ebb and Flow
colly
80
4.2k
Mobile First: as difficult as doing things right
swwweet
217
8.6k
Transcript
NGINX Ingress Controller Λ׆༻ͨ͠ Retty ͷαʔϏε։ൃͱϞχλϦϯά Yuya Koda 2022/04/15 NGINX
Ϣʔβʔձ 2022 य़
ࣗݾհ ໊લ ా༏࠸ ͜͏ͩΏ͏ ͓ࣄ ΠϯϑϥΤϯδχΞ ͖ͳ͓ళ 4"70:ຑे൪ళ ΧϨʔͷళΨϯδʔ
͖ͳͷ ւྉཧίʔώʔࣗಈԽLT 5XJUUFS !QPOLJP@P IUUQTVTFSSFUUZNF
͋ͳͨʹ#&45ͳ ͓ళ͕ݟ͔ͭΔ ໊࣮ܕάϧϝαʔϏε Retty
ΞδΣϯμ ։ൃڥͷ֓ཁ B ։ൃڥͷͳΓͨͪ C ։ൃڥͷߏ ϩʔυόϥϯαʔͷߏݕ౼
ϞχλϦϯάͷӡ༻ࣄྫͱϋϚͬͨͱ͜Ζ ·ͱΊ
ࣾ։ൃڥͷͳΓͨͪ • ϩʔΧϧ։ൃ࣌ʹ։ൃஈ֊ͷͷ͕ϨϏϡʔͰ͖ͳ͍ ◦ OHSPLΛ͍ͬͯͨ ▪ ্ཱ͍ͪ͛ͯΔ͔ؒ͠ݟΕͳ͍ͷͰෆศ • ։ൃ%#"1*ͱͷ࿈ܞ ◦
खݩͷEPDLFSDPNQPTFͰ্ཱͪ͛ͨ.Z42-Ͱͳ͘։ൃ༻ͷ %#Λࢀর͍ͨ͠ ◦ ผγεςϜͷ"1*Λࢀরͯ͠࿈ܞ෦ͷಈ࡞֬ೝΛߦ͍͍ͨ ▪ ˠϙʔτϑΥϫʔσΟϯάͳͲ͕ඞཁ ։ൃ͢Δʹ͍͔͋ͨͬͯͭ͘ͷ՝͕͋ͬͨ
։ൃͷྲྀΕ ϩʔΧϧڥͰ։ൃमਖ਼ मਖ਼ͨ͠ΠϝʔδΛ&$3ʹΞοϓϩʔυ εΫϦϓτΛ༻ͯࣗ͠ͷ%FQMPZNFOUͷΠϝʔδΛͰΞοϓϩʔυ ͨ͠ͷʹมߋ ө֬ೝ
ԼهͷΑ͏ͳྲྀΕͰ։ൃʙ֬ೝΛߦ͏
ࣾ։ൃڥͷߏ ˞ϗετ໊ͳͲͯ͢Սۭͷͷ IUUQT\VTFS^\TFSWJDF@OBNF^EFWSFUUZNF ʹΞΫηεͯ͠දࣔ֬ೝ εΫϦϓτͰ%FQMPZNFOUͷΠϝʔδΛมߋ͢Δ ։ൃऀYαʔϏεຖʹ*OHSFTT4FSWJDF%FQMPZNFOU͕ଘࡏ͢Δ มߋΛDPNNJU CVJMEQVTI
ϩʔυόϥϯαʔͷߏʹ͍ͭͯ
ϩʔυόϥϯαʔͷߏҊ ։ൃڥߏஙॳ ݄ࠒ ҎԼͷΑ͏ͳબࢶ͕͋ΓɺͦΕͧΕΛൺֱݕ౼ ͠·ͨ͠ɻ • "-#*OHSFTT • $-# /-#
/(*/9*OHSFTT$POUSPMMFS • "-#*OHSFTT /(*/9*OHSFTT$POUSPMMFS
A) ALB Ingress "84"-#Λ*OHSFTTͱͯ͠༻͢Δ&,4ͩͱఆ൪ ͷߏ • ϝϦοτ ◦ ߏ͕ඇৗʹγϯϓϧ ◦
"-#ͷػೳ͕͑Δ • σϝϦοτ ◦ "-#Λ*OHSFTTͱͯ͠ར༻͢ΔͷͰ"-#ͷ੍Λͦͷ··ड͚Δ ▪ ਖ਼نදݱ͕͑ͳ͍😭 ▪ 4FSWJDF2VPUB • λʔήοτͷొσϑΥϧτͰ Ҿ্͖͛Մೳ • λʔήοτͷొ૿͑ΔՄೳੑ͕͋ͬͨ
B) CLB / (NLB) + NGINX Ingress /(*/9*OHSFTTΛUZQF-PBE#BMBODFSͰެ։ͯ͠ɺશͯͷϧʔςΟϯάΛ/(*/9 ʹͤΔํࣜ •
ϝϦοτ ◦ /(*/9ͰϧʔςΟϯάͰ͖Δ ▪ ਖ਼نදݱ͑Δ͠ϔομʔ৮ΕΔ • σϝϦοτ ◦ $-#Λ͏ඞཁ͕͋ͬͨ ݱࡏ/-#͕ར༻Մೳ ▪ ॳUZQF-PBE#BMBODFSͳ4FSWJDFͰ༻Ͱ͖Δ&-#͕ $-#ͷΈͩͬͨ
C) ALB Ingress + NGINX Ingress "-#*OHSFTTΛϑϩϯτʹஔͭͭ͠ɺͦͷޙΖͰ/(*/9*OHSFTTΛಈ͔ͯ͠ͲͪΒ ͏ํࣜɻ"ͱ#ͷ͍͍ͱ͜औΓߏ • ϝϦοτ
◦ /(*/9ͰϧʔςΟϯάͰ͖Δ ▪ "-#ͰͰ͖Δ͠"-#ͷػೳ͑Δ ◦ ࣌ͱͯ͠ $-#ΛΘͳ͍͍ͯ͘ • σϝϦοτ ◦ *OHSFTT$POUSPMMFSΛෳཧ͢Δඞཁ͕͋Δ ▪ ͱ͍͑ӡ༻͍ͯͯ͠େมͩͳͱײͨ͜͡ͱ͕ͳ͍
ύλʔϯ C Λ࠾༻ͨ͠ཧ༝ ओʹ$-#Λ͍ͨ͘ͳ͍ͱ͍͏ͷ͕େ͖ͳཧ༝ "84-PBE#BMBODFS$POUSPMMFSͷొʹΑΓݱࡏղফ͍ͯ͠Δଟ͍ • ࣌ $-#ΛΘͳ͍બࢶ͕͜Ε͔͠ͳ͔ͬͨ ◦ ྩʹ$-#Λ৽ن࡞͢Δͷͪΐͬͱʜ
• &,4PO'BSHBUFͷΓ͑ͷՄೳੑ͕͋ͬͨ ◦ ίετ؍͔Β'BSHBUFͷҠߦ݁ՌతʹߦΘͣ ◦ ࣌ PO'BSHBUFͷ߹"-#*OHSFTTΛ͏͔͠ͳ͔ͬͨ • "-#୯ମͩͱػೳෆΛײͨ͡ ◦ ϧʔςΟϯάͷઃఆ ◦ Ϧεφʔϧʔϧͷ্ݶ͕σϑΥϧτͩͱ Ҿ্͖͛Մೳ
࠷ऴతͳߏ ˞ϗετ໊ͳͲͯ͢Սۭͷͷ
ӡ༻ࣄྫ
Prometheus + Grafana ʹΑΔϞχλϦϯά ϞχλϦϯάڥͷߏஙʹQSPNFUIFVTPQFSBUPSLVCFQSPNFUIFVTΛ༻ 1SPNFUIFVT(SBGBOB"MFSUNBOBHFSͳͲΛΠΠײ͡ʹηοτΞοϓͰ͖Δ IUUQTHJUIVCDPNQSPNFUIFVTPQFSBUPSLVCFQSPNFUIFVT
kube-prometheus vs prometheus-operator QSPNFUIFVTPQFSBUPSʮ1SPNFUIFVTͷ0QFSBUPS ୯ମ ʯͰ(SBGBOB֤छ FYQPSUFSผ్Πϯετʔϧ͢Δඞཁ͕͋Δɻ QSPNFUIFVTPQFSBUPSΛแ͠ɺ(SBGBOB"MFSUNBOBHFS&YQPSUFSΛೖΕͯ͘ ΕΔͷ͕LVCFQSPNFUIFVT
nginx-prometheus-exporter ඞཁʁ OHJOYJODLVCFSOFUFTJOHSFTTΛ͏߹ʹಉࠝ͞Ε͓ͯΓɺϑϥάͰ༗ޮԽ͢Δ ͚ͩͳͷͰผ్FYQPSUFSΛೖΕͳͯ͘ྑ͍ IUUQTHJUIVCDPNOHJOYJODOHJOYQSPNFUIFVTFYQPSUFS
exporter ͷઃఆ OHJOYJOHSFTTͷҾͱͯ͠FOBCMFQSPNFUIFVTNFUSJDTΛͯ͠ɺεΫϨΠϓ Ͱ͖ΔΑ͏ʹ֘ͷϙʔτ ࠓճ Λެ։͢Δ
औಘͰ͖ΔϝτϦΫεʹ͍ͭͯ 044൛ͩͱऔಘͰ͖ΔϝτϦΫεׂ͕ͱݶΒΕΔͨΊɺΑΓৄࡉʹϞχλϦϯά͢Δ ߹/(*/91MVT͕ྑͦ͞͏ ։ൃڥͩͱࢮ׆ࢹͰ͖ΕेͳͷͰࠓͷͱ͜Ζͳ͠ • $PNNPO ◦ OHJOYFYQPSUFS@CVJME@JOGP ◦ OJHOY@VQ
• 4UBUVT ◦ OHJOY@DPOOFDUJPOT@BDDFQUFE ◦ OHJOY@DPOOFDUJPOT@BDUJWF ◦ OHJOY@DPOOFDUJPOT@IBOEMFE ◦ OHJOY@DPOOFDUJPOT@SFBEJOH ◦ OHJOY@DPOOFDUJPOT@XBJUJOH ◦ OHJOY@DPOOFDUJPOT@XSJUJOH ◦ OHJOY@IUUQ@SFRVFTUT@UPUBM 044/(*/9ͰऔಘͰ͖ΔϝτϦΫεҰཡ
·ͱΊ
·ͱΊ • &,4ͷ߹"-#*OHSFTT SEQBSUZ*OHSFTTͷΈ߹ΘͤΞϦ ◦ "-#ͷػೳΛ͍ͭͭΓͳ͍ՕॴΛิ͑Δ ▪ "$.8"'0*%$"VUI • ϞχλϦϯάڥͷߏஙʹLVCFQSPNFUIFVT͕ศར
◦ 2VJDLTUBSUͷ௨ΓʹΕҰ௨ΓΠΠײ͡ʹଗ͏ ◦ LVCFQSPNFUIFVTʹݶΒͣ 0QFSBUPSͦͷͷͷֶशίετ͔͔Δ
ืूϙδγϣϯ • ϑϩϯτΤϯυΤϯδχΞ • όοΫΤϯυΤϯδχΞ • ΞϓϦΤϯδχΞ • ΤϯδχΞϦϯάϚωʔδϟʔ •
σʔλΞφϦετ • σʔλαΠΤϯςΟετ • σʔλΤϯδχΞ • ΠϯϑϥΤϯδχΞ ৄࡉͪ͜Β