This repo has manifest & steps that can be used to implement Gateway API on EKS cluster.
https://docs.nginx.com/nginx-gateway-fabric/install/helm/
- EKS Cluster
- kubectl configured to interact with EKS cluster
- Helm installed and configured
- Gateway API CRDs installed on the cluster
-
First , Install custom CRD's from Nginx
kubectl kustomize "https://github.com/nginx/nginx-gateway-fabric/config/crd/gateway-api/experimental?ref=v2.2.1" | kubectl apply -f - -
Add NGINX Helm repository
helm repo add nginx-stable https://helm.nginx.com/stable helm repo update -
Create a namespace for NGINX Gateway API
kubectl create namespace nginx-gateway -
Install NGINX Gateway API using Helm
helm install ngf oci://ghcr.io/nginx/charts/nginx-gateway-fabric --create-namespace -n nginx-gateway -
Verify the installation Gateway Class created
kubectl get gatewayclasses.gateway.networking.k8s.io -o wideNAME CONTROLLER ACCEPTED AGE DESCRIPTION nginx gateway.nginx.org/nginx-gateway-controller True 20hkubectl get deploy -n nginx-gatewayNAME READY UP-TO-DATE AVAILABLE AGE ngf-nginx-gateway-fabric 1/1 1 1 20h -
Apply the Nginx-deployment manifests
kubectl apply -f Nginx-manifests/ -
Apply the Gateway & httproute for deployment
kubectl apply -f GatewayAPI/ -
verify the Gateway is working correctly
curl http://k8s-gwapingi-gwapingi-c8c42e1632-303dfb06054b0261.elb.ap-south-1.amazonaws.comYou should see the Nginx welcome page
<!DOCTYPE html> <html> <head> <title>Welcome to nginx!</title> <style> html { color-scheme: light dark; } body { width: 35em; margin: 0 auto; font-family: Tahoma, Verdana, Arial, sans-serif; } </style> </head> <body> <h1>Welcome to nginx!</h1> <p>If you see this page, the nginx web server is successfully installed and working. Further configuration is required.</p> <p>For online documentation and support please refer to <a href="http://nginx.org/">nginx.org</a>.<br/> Commercial support is available at <a href="http://nginx.com/">nginx.com</a>.</p> <p><em>Thank you for using nginx.</em></p> </body> </html>