Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

K8s-GatewayAPI

This repo has manifest & steps that can be used to implement Gateway API on EKS cluster.

This Project is implemented by using official documentation as reference

https://docs.nginx.com/nginx-gateway-fabric/install/helm/

Pre-requisites

  1. EKS Cluster
  2. kubectl configured to interact with EKS cluster
  3. Helm installed and configured
  4. Gateway API CRDs installed on the cluster

Steps to install NGINX Gateway API using Helm

  1. 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 -
    
  2. Add NGINX Helm repository

    helm repo add nginx-stable https://helm.nginx.com/stable
    helm repo update
    
  3. Create a namespace for NGINX Gateway API

     kubectl create namespace nginx-gateway
    
  4. Install NGINX Gateway API using Helm

    helm install ngf oci://ghcr.io/nginx/charts/nginx-gateway-fabric --create-namespace -n nginx-gateway
    
  5. Verify the installation Gateway Class created

    kubectl get gatewayclasses.gateway.networking.k8s.io -o wide
    
    NAME    CONTROLLER                                   ACCEPTED   AGE   DESCRIPTION
    nginx   gateway.nginx.org/nginx-gateway-controller   True       20h
    
    kubectl get deploy -n nginx-gateway
    
    NAME                       READY   UP-TO-DATE   AVAILABLE   AGE
    ngf-nginx-gateway-fabric   1/1     1            1           20h
    
  6. Apply the Nginx-deployment manifests

    kubectl apply -f Nginx-manifests/
    
  7. Apply the Gateway & httproute for deployment

    kubectl apply -f GatewayAPI/
    
  8. verify the Gateway is working correctly

    curl http://k8s-gwapingi-gwapingi-c8c42e1632-303dfb06054b0261.elb.ap-south-1.amazonaws.com
    

    You 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>
    

About

This repo has manifest that has been used to implement Gateway API on EKS cluster.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors