Video thumbnail for How to Install Gateway API in Kubernetes Step-by-Step | Envoy Gateway Tutorial

How to Install Gateway API in Kubernetes Step-by-Step | Envoy Gateway Tutorial

Apr 20, 2026

linuxtechi.com

Are you still using Ingress in Kubernetes and hitting its limitations? What if I told you there’s a more powerful, flexible, and future-ready way to manage traffic in Kubernetes? In this video, we will learn how to install Gateway API in Kubernetes step-by-step, understand why it’s replacing Ingress, and deploy it using the Envoy Gateway controller with real-world examples. What is Gateway API? It is a next-generation set of APIs designed to manage network traffic routing in Kubernetes clusters. It is developed by the Kubernetes community as an improvement over the traditional Ingress. 👉 Key idea: Instead of one resource doing everything (like Ingress), Gateway API splits responsibilities into multiple resources: GatewayClass → Defines the controller (like Envoy) Gateway → Defines the actual load balancer HTTPRoute / TCPRoute → Defines routing rules This separation gives more control, flexibility, and scalability. Steps used in this video are Step 1: Install Gateway API CRDs and Envoy Gateway helm install eg oci://docker.io/envoyproxy/gateway-helm --version v1.6.1 -n envoy-gateway-system --create-namespace kubectl get pods -n envoy-gateway-system Step 2: Deploy Sample Application git clone [email protected]:pradeepantil/gatewayapi-demo.git cd gatewayapi-demo/manifests kubectl create -f serviceaccount.yaml kubectl create -f deployment.yaml kubectl create -f service.yaml Step 3: Create GatewayClass, Gateway & HTTPRoute kubectl create -f gatewayclass.yaml kubectl get gatewayclass kubectl create -f gateway.yaml kubectl get gateway kubectl create -f httproute.yaml kubectl get svc -n envoy-gateway-system Step 4: Access Application Since this is on-prem Kubernetes, set the port-forward using following command. kubectl port-forward svc/envoy-default-eg-e41e7b31 -n envoy-gateway-system 8080:80 --address 0.0.0.0 Open one more session of your Kubernetes , run curl --verbose --header "Host: www.demoapp.com" http://localhost:8080/get Real-World Use Cases: 🔹 URL Rewrite Modify request paths dynamically using HTTPRoute rules 🔹 Traffic Splitting (50/50) Send traffic to multiple versions: 🔹 Weight-Based Traffic (Canary Deployment) 80% → backend v1 20% → backend v2 👉 Perfect for progressive delivery & canary releases 👍 Support the Channel If you found this helpful: 👍 Like the video 🔔 Subscribe for more Kubernetes & DevOps tutorials 💬 Drop your questions in the comments

View Video Transcript
Science