SlideShare a Scribd company logo
© 2020 Google LLC. All rights reserved.
Ingress? That’s so 2020!
Introducing the Kubernetes
Gateway API
Madhav Sathe @madhav_sathe
Abhinav Rau @abhinavrau
SpringOne 1st September 2021
https://github.com/abhinavrau/k8s-gateway-demo
Copyright 2021 Google LLC. This solution, including any related sample code or data, is made
available on an “as is,” “as available,” and “with all faults” basis, solely for illustrative purposes, and
without warranty or representation of any kind. This solution is experimental, unsupported and
provided solely for your convenience. Your use of it is subject to your agreements with Google, as
applicable, and may constitute a beta feature as defined under those agreements. To the extent
that you make any data available to Google in connection with your use of the solution, you
represent and warrant that you have all necessary and appropriate rights, consents and
permissions to permit Google to use and process that data. By using any portion of this solution,
you acknowledge, assume and accept all risks, known and unknown, associated with its usage,
including with respect to your deployment of any portion of this solution in your systems, or
usage in connection with your business, if at all.
SAFE HARBOR
© 2020 Google LLC. All rights reserved.
Ingress → Gateway API - Welcome to 2021!
1
Gateway API in Action
2
I need some GitOps!
3
Cloud Build + GitOps + Gateway API =
Superpowers
4
Proprietary + Confidential
© 2020 Google LLC. All rights reserved.
Ingress Review
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: foo-ingress
annotations:
nginx.ingress.kubernetes.io/rewrite-target:/
spec:
hostnames:
- "foo.com"
rules:
- http:
paths:
- path: /v2
backend:
serviceName: foo-v2
servicePort: 8080
- path: /
backend:
serviceName: foo-v1
servicePort: 8080
Platform
Admin
App
Owner
© 2020 Google LLC. All rights reserved.
bar Namespace
foo Namespace
Gateway
HTTPRoute
GatewayClass
Services
HTTPRoute
Services
Platform
Admin
App
Owner
App
Owner
Platform
Provider
What is the Gateway API?
��🏽♀
gateway-api.sigs.k8s.io
© 2020 Google LLC. All rights reserved.
foo Namespace bar Namespace
infra
Namespace
Route
Binding
kind: HTTPRoute
metadata:
name: route-foo
namespace: foo
labels:
gateway: external-http
spec:
hostnames:
- "foo.com"
rules:
- forwardTo:
- serviceName: foo-v1
port: 8080
kind: Gateway
metadata:
name: gateway
namespace: infra
spec:
gatewayClassName: istio
listeners:
- protocol: HTTP
port: 80
routes:
kind: HTTPRoute
selector:
matchLabels:
gateway: external-http
Platform
admin
foo
Developer
kind: HTTPRoute
metadata:
name: route-bar
namespace: bar
labels:
gateway: external-http
spec:
hostnames:
- "bar.com"
rules:
- forwardTo:
- serviceName: bar-v1
port: 8080
bar
Developer
© 2020 Google LLC. All rights reserved.
Why a new API?
● HTTP header-based
matching
● HTTP header
manipulation
● Weighted traffic splitting
● Traffic mirroring
● Role-oriented resource
model
● Arbitrary backend CRD
references (buckets, functions,
etc.)
● Routing for other protocols (i.e.
gRPC)
● Custom Parameters or
configuration (LB algos, custom
match types, etc.)
“Extended” support “Custom” extensions
Ingress
Gateway API adds
● HTTP host matching
● HTTP path matching
● TLS
● Routing to Service:port
● Many Load Balancer
Implementations
© 2020 Google LLC. All rights reserved.
Ingress → Gateway API - Welcome to 2021!
1
Gateway API in Action
2
I need some GitOps!
3
Cloud Build + GitOps + Gateway API =
Superpowers
4
© 2020 Google LLC. All rights reserved.
Weighted Routing
kind: HTTPRoute
apiVersion: networking.x-k8s.io/v1alpha1
metadata:
name: foo-route
namespace: foo
labels:
gateway: external-http
spec:
hostnames:
- "foo.com"
rules:
- forwardTo:
- serviceName: foo-v1
port: 8080
weight: 50
- serviceName: foo-v2
port: 8080
weight: 50
50%
50%
© 2020 Google LLC. All rights reserved.
Ingress → Gateway API - Welcome to 2021!
1
Gateway API in Action
2
I need some GitOps!
3
Cloud Build + GitOps + Gateway API =
Superpowers
4
Config Sync
Define configuration as data in a secure, version controlled
repository
GIT as a single source of truth for desired state
Continuously match the runtime state of the cluster to the desired
state in GIT
© 2020 Google LLC. All rights reserved.
Anthos cluster
Anthos cluster
Push Config Updates
Watch for Updates
& Pull New Version
Anthos Clusters
on-prem, edge,
other clouds
Cloud-based Observability
GKE Cluster
GKE Cluster
GKE Cluster
Anthos cluster
Anthos cluster
Attached
Clusters
Managing thousands of clusters
with GitOps/NoOps
Cluster
Admin
© 2020 Google LLC. All rights reserved.
Separation of concerns with Multi
Repo Config Sync
foo Namespace
Cluster
Foo App
Namespace
foo Namespace
Bar App
Namespace
Cluster
Admin
Foo App
Owner
Bar App
Owner
Root Repo
Foo Repo
Bar Repo
Helps to take advantage of separation concerns in Gateway API
© 2020 Google LLC. All rights reserved.
foo Namespace
istio-system
Namespace
Cluster
Root Repo
Namespace
Repo
App Owner
Cluster
Admin
Separation of concerns with Multi
Repo Config Sync
© 2020 Google LLC. All rights reserved.
Benefits of Multi-Repo Config Sync
- Consistently manage fleet of clusters
- Prevent config drifts & shadow-ops
- Namespaces for platform concerns e.g.
instance of Gateway or logging and
monitoring agents
- Namespace for each app team
- Restrict the type of resources a
namespace can deploy
App Owner → Namespace Repo
Cluster Admin → Root Repo
- No more “kubectl apply -f”, no overhead of
external CD pipeline
- Independent ownership of the GitOps repo
for apps
- Consistent deployment across fleet of
clusters
- Freedom to deploy without dependency on
cluster admin
- Reduces lead-time and increases
deployment frequency
© 2020 Google LLC. All rights reserved.
Ingress → Gateway API - Welcome to 2021!
1
Gateway API in Action
2
I need some GitOps!
3
Cloud Build + GitOps + Gateway API =
Superpowers
4
© 2020 Google LLC. All rights reserved.
Continuous
Integration
Cloud Build
Container
Registry
Code Repo
Foo Namespace
Repo
Kustomize
Deployment,
Service & Http Route
Rollout & Rollback
Cloud Build Kustomize
Foo App
Developer
DevOps
Engineer
New code
Manual
Render YAML &
Git push
Render YAML &
Git push
foo Namespace
Cluster
Foo
Namespace
triggers...
pull...
Cloud Build + Config Sync + Gateway API:
Agility Superpowers!
© 2020 Google LLC. All rights reserved.
Continuous
Integration
Cloud Build
Container
Registry
Code Repo
Foo Namespace
Repo
Kustomize
Deployment,
Service & Http Route
Rollout & Rollback
Cloud Build Kustomize
Foo App
Developer
New code
Render YAML &
Git push
Render YAML &
Git push
foo Namespace
Cluster
Foo
Namespace
triggers...
pull...
Observability
Pub/Sub
Metrics driven
triggers...
Cloud Build + Config Sync + Gateway API:
Agility Superpowers!
Proprietary + Confidential
© 2020 Google LLC. All rights reserved.
Key Takeaways
● Gateway API
○ Traffic Splitting without Service Mesh
○ Separation of Concerns. Cluster Admin vs. App Owner
● Config Sync
○ Consistently manage a fleet of Clusters
○ Prevent configuration drift & shadow-ops
● Cloud Build + Gateway API + Multi Repo Config Sync
○ Superpowers!!!
© 2020 Google LLC. All rights reserved.
Thank you!
https://github.com/abhinavrau/k8s-gateway-demo

More Related Content

What's hot

Cypress testing
Cypress testingCypress testing
Cypress testing
Vladyslav Romanchenko
 
Cypress for Testing
Cypress for TestingCypress for Testing
Cypress for Testing
PoojaSingh1123
 
Introduction to Github Actions
Introduction to Github ActionsIntroduction to Github Actions
Introduction to Github Actions
Knoldus Inc.
 
Terraform GitOps on Codefresh
Terraform GitOps on CodefreshTerraform GitOps on Codefresh
Terraform GitOps on Codefresh
Codefresh
 
Introduction to Tekton
Introduction to TektonIntroduction to Tekton
Introduction to Tekton
Victor Iglesias
 
CI/CD with Github Actions
CI/CD with Github ActionsCI/CD with Github Actions
CI/CD with Github Actions
Md. Minhazul Haque
 
Slide DevSecOps Microservices
Slide DevSecOps Microservices Slide DevSecOps Microservices
Slide DevSecOps Microservices
Hendri Karisma
 
How to Get Started with Cypress
How to Get Started with CypressHow to Get Started with Cypress
How to Get Started with Cypress
Applitools
 
Cypress Automation Testing Tutorial (Part 1).pdf
Cypress Automation Testing Tutorial (Part 1).pdfCypress Automation Testing Tutorial (Part 1).pdf
Cypress Automation Testing Tutorial (Part 1).pdf
bacancytechnology
 
CI:CD in Lightspeed with kubernetes and argo cd
CI:CD in Lightspeed with kubernetes and argo cdCI:CD in Lightspeed with kubernetes and argo cd
CI:CD in Lightspeed with kubernetes and argo cd
Billy Yuen
 
Cypress test techniques cucumber bdd framework,tdd,api tests course
Cypress test techniques cucumber bdd framework,tdd,api tests courseCypress test techniques cucumber bdd framework,tdd,api tests course
Cypress test techniques cucumber bdd framework,tdd,api tests course
Narayanan Palani
 
ArgoCD Meetup PPT final.pdf
ArgoCD Meetup PPT final.pdfArgoCD Meetup PPT final.pdf
ArgoCD Meetup PPT final.pdf
amanmakwana3
 
Fundamentals of DevOps and CI/CD
Fundamentals of DevOps and CI/CDFundamentals of DevOps and CI/CD
Fundamentals of DevOps and CI/CD
Batyr Nuryyev
 
Introduction to GraalVM
Introduction to GraalVMIntroduction to GraalVM
Introduction to GraalVM
SHASHI KUMAR
 
Automated testing with Cypress
Automated testing with CypressAutomated testing with Cypress
Automated testing with Cypress
Yong Shean Chong
 
Enable DPDK and SR-IOV for containerized virtual network functions with zun
Enable DPDK and SR-IOV for containerized virtual network functions with zunEnable DPDK and SR-IOV for containerized virtual network functions with zun
Enable DPDK and SR-IOV for containerized virtual network functions with zun
heut2008
 
CD using ArgoCD(KnolX).pdf
CD using ArgoCD(KnolX).pdfCD using ArgoCD(KnolX).pdf
CD using ArgoCD(KnolX).pdf
Knoldus Inc.
 
CICD Pipeline Using Github Actions
CICD Pipeline Using Github ActionsCICD Pipeline Using Github Actions
CICD Pipeline Using Github Actions
Kumar Shìvam
 
Introduction to Integration Testing With Cypress
Introduction to Integration Testing With CypressIntroduction to Integration Testing With Cypress
Introduction to Integration Testing With Cypress
Erez Cohen
 
Cypress vs Selenium WebDriver: Better, Or Just Different? -- by Gil Tayar
Cypress vs Selenium WebDriver: Better, Or Just Different? -- by Gil TayarCypress vs Selenium WebDriver: Better, Or Just Different? -- by Gil Tayar
Cypress vs Selenium WebDriver: Better, Or Just Different? -- by Gil Tayar
Applitools
 

What's hot (20)

Cypress testing
Cypress testingCypress testing
Cypress testing
 
Cypress for Testing
Cypress for TestingCypress for Testing
Cypress for Testing
 
Introduction to Github Actions
Introduction to Github ActionsIntroduction to Github Actions
Introduction to Github Actions
 
Terraform GitOps on Codefresh
Terraform GitOps on CodefreshTerraform GitOps on Codefresh
Terraform GitOps on Codefresh
 
Introduction to Tekton
Introduction to TektonIntroduction to Tekton
Introduction to Tekton
 
CI/CD with Github Actions
CI/CD with Github ActionsCI/CD with Github Actions
CI/CD with Github Actions
 
Slide DevSecOps Microservices
Slide DevSecOps Microservices Slide DevSecOps Microservices
Slide DevSecOps Microservices
 
How to Get Started with Cypress
How to Get Started with CypressHow to Get Started with Cypress
How to Get Started with Cypress
 
Cypress Automation Testing Tutorial (Part 1).pdf
Cypress Automation Testing Tutorial (Part 1).pdfCypress Automation Testing Tutorial (Part 1).pdf
Cypress Automation Testing Tutorial (Part 1).pdf
 
CI:CD in Lightspeed with kubernetes and argo cd
CI:CD in Lightspeed with kubernetes and argo cdCI:CD in Lightspeed with kubernetes and argo cd
CI:CD in Lightspeed with kubernetes and argo cd
 
Cypress test techniques cucumber bdd framework,tdd,api tests course
Cypress test techniques cucumber bdd framework,tdd,api tests courseCypress test techniques cucumber bdd framework,tdd,api tests course
Cypress test techniques cucumber bdd framework,tdd,api tests course
 
ArgoCD Meetup PPT final.pdf
ArgoCD Meetup PPT final.pdfArgoCD Meetup PPT final.pdf
ArgoCD Meetup PPT final.pdf
 
Fundamentals of DevOps and CI/CD
Fundamentals of DevOps and CI/CDFundamentals of DevOps and CI/CD
Fundamentals of DevOps and CI/CD
 
Introduction to GraalVM
Introduction to GraalVMIntroduction to GraalVM
Introduction to GraalVM
 
Automated testing with Cypress
Automated testing with CypressAutomated testing with Cypress
Automated testing with Cypress
 
Enable DPDK and SR-IOV for containerized virtual network functions with zun
Enable DPDK and SR-IOV for containerized virtual network functions with zunEnable DPDK and SR-IOV for containerized virtual network functions with zun
Enable DPDK and SR-IOV for containerized virtual network functions with zun
 
CD using ArgoCD(KnolX).pdf
CD using ArgoCD(KnolX).pdfCD using ArgoCD(KnolX).pdf
CD using ArgoCD(KnolX).pdf
 
CICD Pipeline Using Github Actions
CICD Pipeline Using Github ActionsCICD Pipeline Using Github Actions
CICD Pipeline Using Github Actions
 
Introduction to Integration Testing With Cypress
Introduction to Integration Testing With CypressIntroduction to Integration Testing With Cypress
Introduction to Integration Testing With Cypress
 
Cypress vs Selenium WebDriver: Better, Or Just Different? -- by Gil Tayar
Cypress vs Selenium WebDriver: Better, Or Just Different? -- by Gil TayarCypress vs Selenium WebDriver: Better, Or Just Different? -- by Gil Tayar
Cypress vs Selenium WebDriver: Better, Or Just Different? -- by Gil Tayar
 

Similar to Ingress? That’s So 2020! Introducing the Kubernetes Gateway API

Building ContinuousIntegration with Virtuozzo DevOps
Building ContinuousIntegration with Virtuozzo DevOpsBuilding ContinuousIntegration with Virtuozzo DevOps
Building ContinuousIntegration with Virtuozzo DevOps
Virtuozzo
 
Defining & Enforcing Policies the GitOps Way
Defining & Enforcing Policies the GitOps WayDefining & Enforcing Policies the GitOps Way
Defining & Enforcing Policies the GitOps Way
Weaveworks
 
Node.js Tools Ecosystem
Node.js Tools EcosystemNode.js Tools Ecosystem
Node.js Tools Ecosystem
Rocket Software
 
AWS 고객사를 위한 ‘AWS 컨테이너 교육’ - 유재석, AWS 솔루션즈 아키텍트
AWS 고객사를 위한 ‘AWS 컨테이너 교육’ - 유재석, AWS 솔루션즈 아키텍트AWS 고객사를 위한 ‘AWS 컨테이너 교육’ - 유재석, AWS 솔루션즈 아키텍트
AWS 고객사를 위한 ‘AWS 컨테이너 교육’ - 유재석, AWS 솔루션즈 아키텍트
Amazon Web Services Korea
 
Anthos Security: modernize your security posture for cloud native applications
Anthos Security: modernize your security posture for cloud native applicationsAnthos Security: modernize your security posture for cloud native applications
Anthos Security: modernize your security posture for cloud native applications
Greg Castle
 
AWS Container Services – 유재석 (AWS 솔루션즈 아키텍트)
AWS Container Services – 유재석 (AWS 솔루션즈 아키텍트)AWS Container Services – 유재석 (AWS 솔루션즈 아키텍트)
AWS Container Services – 유재석 (AWS 솔루션즈 아키텍트)
Amazon Web Services Korea
 
Amazon Container Services – 유재석 (AWS 솔루션즈 아키텍트)
 Amazon Container Services – 유재석 (AWS 솔루션즈 아키텍트) Amazon Container Services – 유재석 (AWS 솔루션즈 아키텍트)
Amazon Container Services – 유재석 (AWS 솔루션즈 아키텍트)
Amazon Web Services Korea
 
Kubernetes Ingress to Service Mesh (and beyond!)
Kubernetes Ingress to Service Mesh (and beyond!)Kubernetes Ingress to Service Mesh (and beyond!)
Kubernetes Ingress to Service Mesh (and beyond!)
Christian Posta
 
K8s, Amazon EKS - 유재석, AWS 솔루션즈 아키텍트
K8s, Amazon EKS - 유재석, AWS 솔루션즈 아키텍트K8s, Amazon EKS - 유재석, AWS 솔루션즈 아키텍트
K8s, Amazon EKS - 유재석, AWS 솔루션즈 아키텍트
Amazon Web Services Korea
 
Container Power Hour with Jess, Clare, and Abby (CON362) - AWS re:Invent 2018
Container Power Hour with Jess, Clare, and Abby (CON362) - AWS re:Invent 2018Container Power Hour with Jess, Clare, and Abby (CON362) - AWS re:Invent 2018
Container Power Hour with Jess, Clare, and Abby (CON362) - AWS re:Invent 2018
Amazon Web Services
 
Putting Microservices on a Diet: with Istio!
Putting Microservices on a Diet: with Istio!Putting Microservices on a Diet: with Istio!
Putting Microservices on a Diet: with Istio!
QAware GmbH
 
Putting microservices on a diet with istio
Putting microservices on a diet with istioPutting microservices on a diet with istio
Putting microservices on a diet with istio
QAware GmbH
 
Exploring Google APIs with Python
Exploring Google APIs with PythonExploring Google APIs with Python
Exploring Google APIs with Python
wesley chun
 
Uyuni is now translatable
Uyuni is now translatableUyuni is now translatable
Uyuni is now translatable
Uyuni Project
 
API Services: Building State-of-the-Art APIs
API Services: Building State-of-the-Art APIsAPI Services: Building State-of-the-Art APIs
API Services: Building State-of-the-Art APIs
Apigee | Google Cloud
 
Online spanish meetup #2
Online spanish meetup #2Online spanish meetup #2
Online spanish meetup #2
Alexandra N. Martinez
 
AWS에서 Kubernetes 실전 활용하기::유병우::AWS Summit Seoul 2018
AWS에서 Kubernetes 실전 활용하기::유병우::AWS Summit Seoul 2018AWS에서 Kubernetes 실전 활용하기::유병우::AWS Summit Seoul 2018
AWS에서 Kubernetes 실전 활용하기::유병우::AWS Summit Seoul 2018
Amazon Web Services Korea
 
Putting microservices on a diet with Istio
Putting microservices on a diet with IstioPutting microservices on a diet with Istio
Putting microservices on a diet with Istio
QAware GmbH
 
Serverless CI/CD on AWS Webinar
Serverless CI/CD on AWS WebinarServerless CI/CD on AWS Webinar
Serverless CI/CD on AWS Webinar
Amazon Web Services
 
Run Kubernetes with Amazon EKS - SRV318 - Chicago AWS Summit
Run Kubernetes with Amazon EKS - SRV318 - Chicago AWS SummitRun Kubernetes with Amazon EKS - SRV318 - Chicago AWS Summit
Run Kubernetes with Amazon EKS - SRV318 - Chicago AWS Summit
Amazon Web Services
 

Similar to Ingress? That’s So 2020! Introducing the Kubernetes Gateway API (20)

Building ContinuousIntegration with Virtuozzo DevOps
Building ContinuousIntegration with Virtuozzo DevOpsBuilding ContinuousIntegration with Virtuozzo DevOps
Building ContinuousIntegration with Virtuozzo DevOps
 
Defining & Enforcing Policies the GitOps Way
Defining & Enforcing Policies the GitOps WayDefining & Enforcing Policies the GitOps Way
Defining & Enforcing Policies the GitOps Way
 
Node.js Tools Ecosystem
Node.js Tools EcosystemNode.js Tools Ecosystem
Node.js Tools Ecosystem
 
AWS 고객사를 위한 ‘AWS 컨테이너 교육’ - 유재석, AWS 솔루션즈 아키텍트
AWS 고객사를 위한 ‘AWS 컨테이너 교육’ - 유재석, AWS 솔루션즈 아키텍트AWS 고객사를 위한 ‘AWS 컨테이너 교육’ - 유재석, AWS 솔루션즈 아키텍트
AWS 고객사를 위한 ‘AWS 컨테이너 교육’ - 유재석, AWS 솔루션즈 아키텍트
 
Anthos Security: modernize your security posture for cloud native applications
Anthos Security: modernize your security posture for cloud native applicationsAnthos Security: modernize your security posture for cloud native applications
Anthos Security: modernize your security posture for cloud native applications
 
AWS Container Services – 유재석 (AWS 솔루션즈 아키텍트)
AWS Container Services – 유재석 (AWS 솔루션즈 아키텍트)AWS Container Services – 유재석 (AWS 솔루션즈 아키텍트)
AWS Container Services – 유재석 (AWS 솔루션즈 아키텍트)
 
Amazon Container Services – 유재석 (AWS 솔루션즈 아키텍트)
 Amazon Container Services – 유재석 (AWS 솔루션즈 아키텍트) Amazon Container Services – 유재석 (AWS 솔루션즈 아키텍트)
Amazon Container Services – 유재석 (AWS 솔루션즈 아키텍트)
 
Kubernetes Ingress to Service Mesh (and beyond!)
Kubernetes Ingress to Service Mesh (and beyond!)Kubernetes Ingress to Service Mesh (and beyond!)
Kubernetes Ingress to Service Mesh (and beyond!)
 
K8s, Amazon EKS - 유재석, AWS 솔루션즈 아키텍트
K8s, Amazon EKS - 유재석, AWS 솔루션즈 아키텍트K8s, Amazon EKS - 유재석, AWS 솔루션즈 아키텍트
K8s, Amazon EKS - 유재석, AWS 솔루션즈 아키텍트
 
Container Power Hour with Jess, Clare, and Abby (CON362) - AWS re:Invent 2018
Container Power Hour with Jess, Clare, and Abby (CON362) - AWS re:Invent 2018Container Power Hour with Jess, Clare, and Abby (CON362) - AWS re:Invent 2018
Container Power Hour with Jess, Clare, and Abby (CON362) - AWS re:Invent 2018
 
Putting Microservices on a Diet: with Istio!
Putting Microservices on a Diet: with Istio!Putting Microservices on a Diet: with Istio!
Putting Microservices on a Diet: with Istio!
 
Putting microservices on a diet with istio
Putting microservices on a diet with istioPutting microservices on a diet with istio
Putting microservices on a diet with istio
 
Exploring Google APIs with Python
Exploring Google APIs with PythonExploring Google APIs with Python
Exploring Google APIs with Python
 
Uyuni is now translatable
Uyuni is now translatableUyuni is now translatable
Uyuni is now translatable
 
API Services: Building State-of-the-Art APIs
API Services: Building State-of-the-Art APIsAPI Services: Building State-of-the-Art APIs
API Services: Building State-of-the-Art APIs
 
Online spanish meetup #2
Online spanish meetup #2Online spanish meetup #2
Online spanish meetup #2
 
AWS에서 Kubernetes 실전 활용하기::유병우::AWS Summit Seoul 2018
AWS에서 Kubernetes 실전 활용하기::유병우::AWS Summit Seoul 2018AWS에서 Kubernetes 실전 활용하기::유병우::AWS Summit Seoul 2018
AWS에서 Kubernetes 실전 활용하기::유병우::AWS Summit Seoul 2018
 
Putting microservices on a diet with Istio
Putting microservices on a diet with IstioPutting microservices on a diet with Istio
Putting microservices on a diet with Istio
 
Serverless CI/CD on AWS Webinar
Serverless CI/CD on AWS WebinarServerless CI/CD on AWS Webinar
Serverless CI/CD on AWS Webinar
 
Run Kubernetes with Amazon EKS - SRV318 - Chicago AWS Summit
Run Kubernetes with Amazon EKS - SRV318 - Chicago AWS SummitRun Kubernetes with Amazon EKS - SRV318 - Chicago AWS Summit
Run Kubernetes with Amazon EKS - SRV318 - Chicago AWS Summit
 

More from VMware Tanzu

Spring into AI presented by Dan Vega 5/14
Spring into AI presented by Dan Vega 5/14Spring into AI presented by Dan Vega 5/14
Spring into AI presented by Dan Vega 5/14
VMware Tanzu
 
What AI Means For Your Product Strategy And What To Do About It
What AI Means For Your Product Strategy And What To Do About ItWhat AI Means For Your Product Strategy And What To Do About It
What AI Means For Your Product Strategy And What To Do About It
VMware Tanzu
 
Make the Right Thing the Obvious Thing at Cardinal Health 2023
Make the Right Thing the Obvious Thing at Cardinal Health 2023Make the Right Thing the Obvious Thing at Cardinal Health 2023
Make the Right Thing the Obvious Thing at Cardinal Health 2023
VMware Tanzu
 
Enhancing DevEx and Simplifying Operations at Scale
Enhancing DevEx and Simplifying Operations at ScaleEnhancing DevEx and Simplifying Operations at Scale
Enhancing DevEx and Simplifying Operations at Scale
VMware Tanzu
 
Spring Update | July 2023
Spring Update | July 2023Spring Update | July 2023
Spring Update | July 2023
VMware Tanzu
 
Platforms, Platform Engineering, & Platform as a Product
Platforms, Platform Engineering, & Platform as a ProductPlatforms, Platform Engineering, & Platform as a Product
Platforms, Platform Engineering, & Platform as a Product
VMware Tanzu
 
Building Cloud Ready Apps
Building Cloud Ready AppsBuilding Cloud Ready Apps
Building Cloud Ready Apps
VMware Tanzu
 
Spring Boot 3 And Beyond
Spring Boot 3 And BeyondSpring Boot 3 And Beyond
Spring Boot 3 And Beyond
VMware Tanzu
 
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdfSpring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
VMware Tanzu
 
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
VMware Tanzu
 
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
VMware Tanzu
 
tanzu_developer_connect.pptx
tanzu_developer_connect.pptxtanzu_developer_connect.pptx
tanzu_developer_connect.pptx
VMware Tanzu
 
Tanzu Virtual Developer Connect Workshop - French
Tanzu Virtual Developer Connect Workshop - FrenchTanzu Virtual Developer Connect Workshop - French
Tanzu Virtual Developer Connect Workshop - French
VMware Tanzu
 
Tanzu Developer Connect Workshop - English
Tanzu Developer Connect Workshop - EnglishTanzu Developer Connect Workshop - English
Tanzu Developer Connect Workshop - English
VMware Tanzu
 
Virtual Developer Connect Workshop - English
Virtual Developer Connect Workshop - EnglishVirtual Developer Connect Workshop - English
Virtual Developer Connect Workshop - English
VMware Tanzu
 
Tanzu Developer Connect - French
Tanzu Developer Connect - FrenchTanzu Developer Connect - French
Tanzu Developer Connect - French
VMware Tanzu
 
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
VMware Tanzu
 
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring BootSpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
VMware Tanzu
 
SpringOne Tour: The Influential Software Engineer
SpringOne Tour: The Influential Software EngineerSpringOne Tour: The Influential Software Engineer
SpringOne Tour: The Influential Software Engineer
VMware Tanzu
 
SpringOne Tour: Domain-Driven Design: Theory vs Practice
SpringOne Tour: Domain-Driven Design: Theory vs PracticeSpringOne Tour: Domain-Driven Design: Theory vs Practice
SpringOne Tour: Domain-Driven Design: Theory vs Practice
VMware Tanzu
 

More from VMware Tanzu (20)

Spring into AI presented by Dan Vega 5/14
Spring into AI presented by Dan Vega 5/14Spring into AI presented by Dan Vega 5/14
Spring into AI presented by Dan Vega 5/14
 
What AI Means For Your Product Strategy And What To Do About It
What AI Means For Your Product Strategy And What To Do About ItWhat AI Means For Your Product Strategy And What To Do About It
What AI Means For Your Product Strategy And What To Do About It
 
Make the Right Thing the Obvious Thing at Cardinal Health 2023
Make the Right Thing the Obvious Thing at Cardinal Health 2023Make the Right Thing the Obvious Thing at Cardinal Health 2023
Make the Right Thing the Obvious Thing at Cardinal Health 2023
 
Enhancing DevEx and Simplifying Operations at Scale
Enhancing DevEx and Simplifying Operations at ScaleEnhancing DevEx and Simplifying Operations at Scale
Enhancing DevEx and Simplifying Operations at Scale
 
Spring Update | July 2023
Spring Update | July 2023Spring Update | July 2023
Spring Update | July 2023
 
Platforms, Platform Engineering, & Platform as a Product
Platforms, Platform Engineering, & Platform as a ProductPlatforms, Platform Engineering, & Platform as a Product
Platforms, Platform Engineering, & Platform as a Product
 
Building Cloud Ready Apps
Building Cloud Ready AppsBuilding Cloud Ready Apps
Building Cloud Ready Apps
 
Spring Boot 3 And Beyond
Spring Boot 3 And BeyondSpring Boot 3 And Beyond
Spring Boot 3 And Beyond
 
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdfSpring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
 
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
 
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
 
tanzu_developer_connect.pptx
tanzu_developer_connect.pptxtanzu_developer_connect.pptx
tanzu_developer_connect.pptx
 
Tanzu Virtual Developer Connect Workshop - French
Tanzu Virtual Developer Connect Workshop - FrenchTanzu Virtual Developer Connect Workshop - French
Tanzu Virtual Developer Connect Workshop - French
 
Tanzu Developer Connect Workshop - English
Tanzu Developer Connect Workshop - EnglishTanzu Developer Connect Workshop - English
Tanzu Developer Connect Workshop - English
 
Virtual Developer Connect Workshop - English
Virtual Developer Connect Workshop - EnglishVirtual Developer Connect Workshop - English
Virtual Developer Connect Workshop - English
 
Tanzu Developer Connect - French
Tanzu Developer Connect - FrenchTanzu Developer Connect - French
Tanzu Developer Connect - French
 
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
 
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring BootSpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
 
SpringOne Tour: The Influential Software Engineer
SpringOne Tour: The Influential Software EngineerSpringOne Tour: The Influential Software Engineer
SpringOne Tour: The Influential Software Engineer
 
SpringOne Tour: Domain-Driven Design: Theory vs Practice
SpringOne Tour: Domain-Driven Design: Theory vs PracticeSpringOne Tour: Domain-Driven Design: Theory vs Practice
SpringOne Tour: Domain-Driven Design: Theory vs Practice
 

Recently uploaded

Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
Remote DBA Services
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
Philip Schwarz
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
Quickdice ERP
 
一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理
dakas1
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
TheSMSPoint
 
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdfTop Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
VALiNTRY360
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
Green Software Development
 
UI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design SystemUI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design System
Peter Muessig
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
kalichargn70th171
 
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Julian Hyde
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
ICS
 
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
Bert Jan Schrijver
 
How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?
ToXSL Technologies
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
Octavian Nadolu
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
Green Software Development
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
Drona Infotech
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
Green Software Development
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
Ayan Halder
 
zOS Mainframe JES2-JES3 JCL-JECL Differences
zOS Mainframe JES2-JES3 JCL-JECL DifferenceszOS Mainframe JES2-JES3 JCL-JECL Differences
zOS Mainframe JES2-JES3 JCL-JECL Differences
YousufSait3
 

Recently uploaded (20)

Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
 
一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
 
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdfTop Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
 
UI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design SystemUI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design System
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
 
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
 
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
 
How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
 
zOS Mainframe JES2-JES3 JCL-JECL Differences
zOS Mainframe JES2-JES3 JCL-JECL DifferenceszOS Mainframe JES2-JES3 JCL-JECL Differences
zOS Mainframe JES2-JES3 JCL-JECL Differences
 

Ingress? That’s So 2020! Introducing the Kubernetes Gateway API

  • 1. © 2020 Google LLC. All rights reserved. Ingress? That’s so 2020! Introducing the Kubernetes Gateway API Madhav Sathe @madhav_sathe Abhinav Rau @abhinavrau SpringOne 1st September 2021 https://github.com/abhinavrau/k8s-gateway-demo
  • 2. Copyright 2021 Google LLC. This solution, including any related sample code or data, is made available on an “as is,” “as available,” and “with all faults” basis, solely for illustrative purposes, and without warranty or representation of any kind. This solution is experimental, unsupported and provided solely for your convenience. Your use of it is subject to your agreements with Google, as applicable, and may constitute a beta feature as defined under those agreements. To the extent that you make any data available to Google in connection with your use of the solution, you represent and warrant that you have all necessary and appropriate rights, consents and permissions to permit Google to use and process that data. By using any portion of this solution, you acknowledge, assume and accept all risks, known and unknown, associated with its usage, including with respect to your deployment of any portion of this solution in your systems, or usage in connection with your business, if at all. SAFE HARBOR
  • 3. © 2020 Google LLC. All rights reserved. Ingress → Gateway API - Welcome to 2021! 1 Gateway API in Action 2 I need some GitOps! 3 Cloud Build + GitOps + Gateway API = Superpowers 4
  • 4. Proprietary + Confidential © 2020 Google LLC. All rights reserved. Ingress Review apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: foo-ingress annotations: nginx.ingress.kubernetes.io/rewrite-target:/ spec: hostnames: - "foo.com" rules: - http: paths: - path: /v2 backend: serviceName: foo-v2 servicePort: 8080 - path: / backend: serviceName: foo-v1 servicePort: 8080 Platform Admin App Owner
  • 5. © 2020 Google LLC. All rights reserved. bar Namespace foo Namespace Gateway HTTPRoute GatewayClass Services HTTPRoute Services Platform Admin App Owner App Owner Platform Provider What is the Gateway API? ��🏽♀ gateway-api.sigs.k8s.io
  • 6. © 2020 Google LLC. All rights reserved. foo Namespace bar Namespace infra Namespace Route Binding kind: HTTPRoute metadata: name: route-foo namespace: foo labels: gateway: external-http spec: hostnames: - "foo.com" rules: - forwardTo: - serviceName: foo-v1 port: 8080 kind: Gateway metadata: name: gateway namespace: infra spec: gatewayClassName: istio listeners: - protocol: HTTP port: 80 routes: kind: HTTPRoute selector: matchLabels: gateway: external-http Platform admin foo Developer kind: HTTPRoute metadata: name: route-bar namespace: bar labels: gateway: external-http spec: hostnames: - "bar.com" rules: - forwardTo: - serviceName: bar-v1 port: 8080 bar Developer
  • 7. © 2020 Google LLC. All rights reserved. Why a new API? ● HTTP header-based matching ● HTTP header manipulation ● Weighted traffic splitting ● Traffic mirroring ● Role-oriented resource model ● Arbitrary backend CRD references (buckets, functions, etc.) ● Routing for other protocols (i.e. gRPC) ● Custom Parameters or configuration (LB algos, custom match types, etc.) “Extended” support “Custom” extensions Ingress Gateway API adds ● HTTP host matching ● HTTP path matching ● TLS ● Routing to Service:port ● Many Load Balancer Implementations
  • 8. © 2020 Google LLC. All rights reserved. Ingress → Gateway API - Welcome to 2021! 1 Gateway API in Action 2 I need some GitOps! 3 Cloud Build + GitOps + Gateway API = Superpowers 4
  • 9. © 2020 Google LLC. All rights reserved. Weighted Routing kind: HTTPRoute apiVersion: networking.x-k8s.io/v1alpha1 metadata: name: foo-route namespace: foo labels: gateway: external-http spec: hostnames: - "foo.com" rules: - forwardTo: - serviceName: foo-v1 port: 8080 weight: 50 - serviceName: foo-v2 port: 8080 weight: 50 50% 50%
  • 10. © 2020 Google LLC. All rights reserved. Ingress → Gateway API - Welcome to 2021! 1 Gateway API in Action 2 I need some GitOps! 3 Cloud Build + GitOps + Gateway API = Superpowers 4
  • 11. Config Sync Define configuration as data in a secure, version controlled repository GIT as a single source of truth for desired state Continuously match the runtime state of the cluster to the desired state in GIT
  • 12. © 2020 Google LLC. All rights reserved. Anthos cluster Anthos cluster Push Config Updates Watch for Updates & Pull New Version Anthos Clusters on-prem, edge, other clouds Cloud-based Observability GKE Cluster GKE Cluster GKE Cluster Anthos cluster Anthos cluster Attached Clusters Managing thousands of clusters with GitOps/NoOps Cluster Admin
  • 13. © 2020 Google LLC. All rights reserved. Separation of concerns with Multi Repo Config Sync foo Namespace Cluster Foo App Namespace foo Namespace Bar App Namespace Cluster Admin Foo App Owner Bar App Owner Root Repo Foo Repo Bar Repo Helps to take advantage of separation concerns in Gateway API
  • 14. © 2020 Google LLC. All rights reserved. foo Namespace istio-system Namespace Cluster Root Repo Namespace Repo App Owner Cluster Admin Separation of concerns with Multi Repo Config Sync
  • 15. © 2020 Google LLC. All rights reserved. Benefits of Multi-Repo Config Sync - Consistently manage fleet of clusters - Prevent config drifts & shadow-ops - Namespaces for platform concerns e.g. instance of Gateway or logging and monitoring agents - Namespace for each app team - Restrict the type of resources a namespace can deploy App Owner → Namespace Repo Cluster Admin → Root Repo - No more “kubectl apply -f”, no overhead of external CD pipeline - Independent ownership of the GitOps repo for apps - Consistent deployment across fleet of clusters - Freedom to deploy without dependency on cluster admin - Reduces lead-time and increases deployment frequency
  • 16. © 2020 Google LLC. All rights reserved. Ingress → Gateway API - Welcome to 2021! 1 Gateway API in Action 2 I need some GitOps! 3 Cloud Build + GitOps + Gateway API = Superpowers 4
  • 17. © 2020 Google LLC. All rights reserved. Continuous Integration Cloud Build Container Registry Code Repo Foo Namespace Repo Kustomize Deployment, Service & Http Route Rollout & Rollback Cloud Build Kustomize Foo App Developer DevOps Engineer New code Manual Render YAML & Git push Render YAML & Git push foo Namespace Cluster Foo Namespace triggers... pull... Cloud Build + Config Sync + Gateway API: Agility Superpowers!
  • 18. © 2020 Google LLC. All rights reserved. Continuous Integration Cloud Build Container Registry Code Repo Foo Namespace Repo Kustomize Deployment, Service & Http Route Rollout & Rollback Cloud Build Kustomize Foo App Developer New code Render YAML & Git push Render YAML & Git push foo Namespace Cluster Foo Namespace triggers... pull... Observability Pub/Sub Metrics driven triggers... Cloud Build + Config Sync + Gateway API: Agility Superpowers!
  • 19. Proprietary + Confidential © 2020 Google LLC. All rights reserved. Key Takeaways ● Gateway API ○ Traffic Splitting without Service Mesh ○ Separation of Concerns. Cluster Admin vs. App Owner ● Config Sync ○ Consistently manage a fleet of Clusters ○ Prevent configuration drift & shadow-ops ● Cloud Build + Gateway API + Multi Repo Config Sync ○ Superpowers!!!
  • 20. © 2020 Google LLC. All rights reserved. Thank you! https://github.com/abhinavrau/k8s-gateway-demo