SPIFFE Meetup Tokyo #2 LT: Envoy SDS
by
taiki45
×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Slide 1
Slide 1 text
Taiki Ono SPIFFE Meetup Tokyo #2 Envoy SDS
Slide 2
Slide 2 text
Envoy おさらい ● LB/service discovery/retry, timeout/logging, metrics/TLS handling とか やってくれるいい感じプロキシー ● App と同じ pod にデプロイ (side-car model) or app と同じホストにデプロ イして iptables とかで app からの/へのトラフィックを envoy にリダイレ クトする ● 上の機能の設定を中央のマネージメントサーバーから配信することで全体に 散らばった envoy を統一的に管理する ● このマネージメントサーバーと envoy 間の設定通信プロトコルを「xDS プロ トコル」と呼んでいる 2
Slide 3
Slide 3 text
No content
Slide 4
Slide 4 text
No content
Slide 5
Slide 5 text
Envoy Architecture 5
Slide 6
Slide 6 text
Envoy と TLS config ● Per-cluster: outgoing requests ○ tls_context: auth.UpstreamTlsContext ■ Common_tls_context: auth.CommonTlsContext ● Per-listener-filter-chain: incoming requests ○ tls_context: auth.DownstreamTlsContext ■ Common_tls_context: auth.CommonTlsContext ■ Require_client_certificate: Bool ● auth.CommonTlsContext ○ tls_certificates or tls_certificate_sds_secret_config ○ validation_context or validation_context_sds_secret_config ■ 証明書を検証する時の設定 (e.g. trusted_ca) 6
Slide 7
Slide 7 text
tls_ceritificates ● Body: private_key, certificate_chain, password ● データの指定: filename, inline_bytes, inline_string 7
Slide 8
Slide 8 text
Static vs SDS ● tls_certificates の情報をどう渡すかの違い ● Static: Envoy が動く場所の FS に置いておいて file name で指定 ● SDS: SDS サーバーに置いておいて inline bytes で配信 ○ SDS サーバーに置いてある「どの ceritificate を使うか」を決めるのが “tls_certificate_sds_secret_configs.name” をキーにして決める 8
Slide 9
Slide 9 text
Envoy Architecture 9 SDS server Certificates Trusted CA
Slide 10
Slide 10 text
Go tetrate.io/about-us/careers/ !