SPIFFE Meetup Tokyo #2 LT: Envoy SDS
by
taiki45
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
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/ !