Topics for discussion today
- Persistent Volume claims
- Statefulsets
- Ingress/Ingress Gateway
- AKS
Persistent Volume claims
- Refer Here for the changes done.
- during last session the mysql was not remembering the data as the volume was not mounted into container

Statefulsets
- A statefulset is a k8s controller which is used to manage stateful applications
- A Statefulset gurantees the ordering and uniqueness of pods
- Lets try to dummy cluster using statefulsets
- We need to create a headless service (service without ip)
- To access individual pod in sts we can use
<pod-name>.<service-name>

- Refer Here for examples
- Note: Always use existing helm charts to create database statefulsets.
Ingress controllers
- Refer Here for official docs
-
An ingress controller is k8s networking implementation which is used to expose multiple application services inside the cluster to the outside world
-
If you an extenal acces you can create the following for individual services
- nodeport
- LoadBalancer
- But for multiple services, this quickly becomes messy
- Ingress in k8s api object that defines routing for external HTTP/HTTPS traffic to services
- Example rules
- example.com/orders -> go to order service
- example.com/cart -> go to cart service
- Ingress just has rules.
- An ingress controller is a software running in cluster that
- watches for ingress objects
- configures an underlying loadbalancer (NGIX, cloud LB)
- Route traffic based on ingress rules
- K8s by doesnot have default ingress controller.
- Popular ingress controllers
| Ingress Controller | Developed By | Key Features | Best Use Cases | Notes |
|---|---|---|---|---|
| NGINX Ingress Controller | Kubernetes Community / NGINX Inc. | Widely used, supports SSL/TLS, annotations for fine-grained control, rewrite rules | General-purpose ingress, widely adopted in production | Most popular, large community support |
| HAProxy Ingress | HAProxy Technologies | High performance, advanced load balancing, rate limiting, stickiness | High traffic apps needing low latency | Strong TCP/HTTP load balancing |
| Traefik | Traefik Labs | Dynamic configuration, supports Ingress + CRDs, integrates with Let’s Encrypt for auto TLS | Cloud-native, microservices with frequent changes | Popular in DevOps, GitOps, CI/CD |
| Kong Ingress Controller | Kong Inc. | API management, authentication, rate limiting, observability | API gateway + ingress needs | Good for API-driven platforms |
| Contour | VMware | Envoy proxy-based, supports advanced routing, delegation, TLS termination | Enterprises using Envoy-based service mesh (e.g., Istio) | Lightweight, integrates well with Envoy |
| Gloo Edge | Solo.io | Envoy-based, advanced traffic policies, security features, multi-cluster | Hybrid/multi-cloud, API gateway features | Enterprise-focused |
| AWS Load Balancer Controller | AWS | Manages ALB/NLB as ingress, integrates with AWS IAM & VPC | Kubernetes on AWS (EKS) | AWS-specific |
| Azure Application Gateway Ingress Controller (AGIC) | Microsoft | Integrates Azure Application Gateway (L7 LB) with Kubernetes ingress | Kubernetes on Azure (AKS) | Azure-specific |
| Google Cloud Load Balancer Controller | Integrates with Google Cloud Load Balancer | Kubernetes on GKE | GCP-specific |
- Lets use Nginx ingress controller
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.3.0/deploy/static/provider/cloud/deploy.yaml
kubectl get pods --namespace ingress-nginx
kubectl get service ingress-nginx-controller --namespace=ingress-nginx
- Refer Here for changes done with nginx ingress
