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
Emissary Ingress 101 by danielbryantuk June CNC...
Search
cncf-canada-meetups
June 01, 2021
Technology
110
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Emissary Ingress 101 by danielbryantuk June CNCF Canada Meetup
Emissary-ingress 101: An introduction to the CNCF incubation-level API gateway
cncf-canada-meetups
June 01, 2021
More Decks by cncf-canada-meetups
See All by cncf-canada-meetups
Canada Cloud Native Meetups - 2026 Sponsor Deck
cncfcanada
0
74
Recursion - Meetup - Presentation - June 19th.pdf
cncfcanada
0
73
CNCF Toronto Shopify Meetup Slides 26-03-25
cncfcanada
0
100
[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope
cncfcanada
0
300
[CNCF Q1 2024] Remediate Kubernetes Security Threats in Real-Time with Falco Talon
cncfcanada
0
99
[Q2 CNCF 2023] Metrio, a Cloud run journey
cncfcanada
0
78
[CNCF Q1 2024] Agentic Installer LLMs Helm Charts by Chris Gruel @Akeyless
cncfcanada
0
110
Karpenter @LightSpeed
cncfcanada
0
140
Shorten the dev loop with mirrord
cncfcanada
0
120
Other Decks in Technology
See All in Technology
【AG-UI × A2UI × MCP Apps】Generative UIをやさしく解説する
nrinetcom
PRO
1
130
20260807_第6回_関東kaggler会LT_claw系bot xangiと始める、"寂しくない" kaggle
sugupoko
0
290
カートの信頼性を担保するWireMockを使ったe2eテスト
ykagano
0
330
Bits Agent Builder の⼊⾨と活⽤事例
nulabinc
PRO
0
160
え?フロントエンドエンジニアの ワイがインフラも!?
puku0x
1
610
Service Connect 上のサービスに ECS Service の外側から到達できなかった話
ota1022
1
260
変化の早いClaude Codeを 書籍に落とし込む
oikon48
7
1.4k
[ChatGPT Work LT]事務作業が苦手な人のための バックオフィスの「半」自動化
chimaki_iot
0
300
攻撃と防御で学ぶAI時代のプロダクトセキュリティ演習
recruitengineers
PRO
9
2.9k
20分でわかるセキュアAPI
nwiizo
2
280
モノリス Rails でも日中に rails db:migrate を走らせたい! / Daytime rails db:migrate on Monolithic Rails!
euglena1215
4
600
同じWAFが、攻撃の“形”は弾く── 正当な“形”の不正は通す
kuroneko13
0
210
Featured
See All Featured
How to Talk to Developers About Accessibility
jct
2
510
Mobile First: as difficult as doing things right
swwweet
225
10k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
250
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
1
390
Scaling GitHub
holman
464
140k
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.9k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
240
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
650
Facilitating Awesome Meetings
lara
57
7.1k
WENDY [Excerpt]
tessaabrams
11
39k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Discover your Explorer Soul
emna__ayadi
2
1.3k
Transcript
Emissary Ingress 101 Daniel Bryant @danielbryantuk |
[email protected]
Director of
DevRel, Ambassador Labs
What is Emissary Ingress? Open-source cloud-native API gateway, powered by
Envoy • Formerly known as Ambassador API Gateway • CNCF Incubation project • Developer-focused (self-service config) ◦ CRDs, Ingress, or Kubernetes annotations • Wide adoption over the past four years 2
Traffic management Emissary is an API Gateway Jane: /quote/ Mark:
/quote/update/ 3
Emissary is an API Gateway Jane: /quote/ Mark: /quote/update/ App
development App security 4 Mark: /quote/update/ X Rate Limiting Resilience Observability
Resilience • Advanced load balancing • Circuit breakers • Automatic
retries • Timeouts • Auth (via ext_authz) • Rate limiting (via rls.proto) Observability • Distributed tracing • Real-time metrics • Logs (+Envoy output) Cloud-native • Service discovery with Kubernetes and Consul • Zero downtime configuration • Stateless high availability architecture L7 support • HTTP/1.0, HTTP/1.1, HTTP/2 • gRPC, gRPC-Web • TCP, WebSockets • Server Name Indication (SNI) • Gzip compression Emissary Core Features Emissary Core Features 5
Emissary is Built on Envoy Proxy 6
Emissary is Ambassador’s Open Core 7
Use cases
API Gateway for North/South traffic Traffic management App security App
development 9
Internal / External 10
Hub and Spoke Traffic management App security App development 11
None
Service meshes: We’ve got you covered https://www.getambassador.io/docs/edge-stack/latest/howtos/
Configuration
Configuring the Control Plane apiVersion: getambassador.io/v2 kind: Mapping metadata: name:
quote-mapping spec: prefix: /quote/ service: quote apiVersion: getambassador.io/v2 kind: Host metadata: name: wildcard-host spec: hostname: “*” acmeProvider: authority: none tlsSecret: name: base-cert apiVersion: getambassador.io/v2 kind: AuthService metadata: name: extauth-service spec: auth_service: example-auth path_prefix: “/extauth” allowed_request_headers: - “x-example-session” allowed_authorization_headers: - “x-example-session” - “x-example-userid” apiVersion: getambassador.io/v2 kind: Mapping metadata: name: quote2-mapping spec: prefix: /quote/ service: fancy-quote weight: 10 apiVersion: getambassador.io/v2 kind: Mapping metadata: name: restricted-mapping spec: host: restricted.example.com prefix: /restricted/ rewrite: /a/very/safe/path/ rewrite_host: safe.example.com service: dangerous-service 15
Configuring the Control Plane apiVersion: getambassador.io/v2 kind: Mapping metadata: name:
quote-mapping spec: prefix: /quote/ service: quote apiVersion: networking.k8s.io/v1 kind: Ingress metadata: annotations: kubernetes.io/ingress.class: ambassador name: example-ingress spec: tls: - hosts: - sslexample.foo.com secretName: sslexample-cert rules: - host: sslexample.foo.com http: paths: - path: /quote/ backend: serviceName: quote servicePort: 80 apiVersion: getambassador.io/v2 kind: Host metadata: name: wildcard-host spec: hostname: “sslexample.foo.com” acmeProvider: authority: none tlsSecret: name: sslexample-cert 16
Gateway API www.getambassador.io/docs/edge-stack/latest/topics/using/gateway-api/
Service meshes: We’ve got you covered https://www.getambassador.io/docs/edge-stack/latest/howtos/
Make Money* with Emissary-Ingress & Linkerd Install add_linkerd_headers: true *
Making money not guaranteed!
Emissary + Linkerd https://www.getambassador.io/docs/edge-stack/latest/howtos/linkerd2/ www.youtube.com/watch?v=nWCvine4_Sw
Emissary + HashiCorp Consul www.youtube.com/watch?v=QnvU4vCgAlE blog.getambassador.io/part-3-incremental-app-migration-from-vms-to-kubernetes-amb assador-and-consul-aacf87eea3e8
Observability www.getambassador.io/docs/edge-stack/latest/howtos/prometheus/ www.getambassador.io/docs/edge-stack/latest/topics/running/services/tracing-service/ www.youtube.com/watch?v=hPifPTEAFK0
Observability and understandability www.youtube.com/watch?v=bdvxsEIhHcc a8r.io
Adoption
Four Remarkable Years Initial release, March 2017 Ambassador 1.0 release,
Jan 2020 CNCF donation as Emissary, April 2021 3.3K GitHub stars 5000+ Slack members 160+ contributors 500+ forks 25
None
The cloud native superpower: The people Emissary Ingress could never
have come this far without the amazing community that’s grown up around it Many, many thanks! (And we’re only just getting started)
Proven and Growing Rapidly Many production deployments: • AppDirect: (KubeCon
NA 2018 presentation) • GoSpotCheck: (KubeCon NA 2019 presentation) • Lifion by ADP • Ticketmaster • Chick-Fil-A • OneFootball (KubeCon EU 2019 presentation) 28
Getting Started with Emissary-Ingress www.getambassador.io/docs/edge-stack/latest/topics/install/install-ambassador-oss/ app.getambassador.io/initializer/
Thanks! @danielbryantuk |
[email protected]
To get involved or ask questions:
www.getambassador.io/developer-office-hours/ a8r.io/slack 30