1 minute read

This series of prototypes demonstrates the evolution from traditional Kubernetes Ingress to the new Gateway API, exploring various implementations and certificate management strategies in Minikube environments.

Series Overview

The projects progress from basic ingress configurations to advanced Gateway API implementations with production-grade certificate management.

Part 1: Deploy-01 Basic Ingress (Ingress-Nginx, Cert-Manager, Pekko-Http)

Prototype deploying basic ingress-ngingx ingress with both http and https termination. Uses ingress-nginx, cert-manager, pekko-http


Part 2: Deploy-02 Advanced Ingress (Cert-Manager, Vault)

Project deploying ingress-ngingx ingress with both http and https-passthru only; Cert-Manager and Hashicorp Vault CA.


Part 3: Deploy-03 Basic Gateway API (Istio - Ambient Mode, Cert-Manager)

Shell instructions for deploying Kubernetes Gateway API, Istio Ambient Mode, and Cert-Manager using HTTPRoute for Http and Https-terminated, and TLSRoute for Passthru.


Part 4: Deploy-04 Nginx Gateway Fabric

Project deploying Nginx Gateway Fabric as the Kubernetes Gateway API controller. Project purpose is to learn about the implementation functionality.


Part 5: Deploy-05 Advanced Gateway API (Istio Ambient Mode, Cert-Manager, Vault)

A functional prototype using Kubernetes Gateway API supporting TLS Termination and Passthru. Built using Istio (Ambient Mode), Cert-Manager and Hashicorp Vault for certificate lifecycle management and signing TLS certificates within a Minikube environment.


Part 6: Thoughts-01 Conclusions from Ingress/Gateway API Learning Prototypes 1-5

Conclusions reached from implementing Ingress and Gateway API prototypes with Cert-Manager, Vault and Istio (Ambient Mode)


Learning Path

  1. Start with Deploy-01 to understand basic ingress concepts
  2. Progress to Deploy-02 to learn certificate management with Vault
  3. Move to Deploy-03 to understand Gateway API fundamentals
  4. Explore Deploy-04 to compare different Gateway API implementations
  5. Complete with Deploy-05 for production-ready configurations
  6. Review Thoughts and Conclusions for lessons learned

Common Infrastructure

All projects are tested on:

  • Ubuntu: 20.04.6 LTS
  • Minikube: 1.34.0
  • Kubernetes: 1.31.0
  • Docker: 27.2.0

Each project has its own GitHub repository with deployment scripts and documentation:

Updated:

Comments