🚪 Ingress = HTTP Routing
NodePort and LoadBalancer are basic. Ingress provides advanced HTTP routing. Single entry point, multiple services, SSL.
📝 Ingress Basics
# Install NGINX Ingress Controller
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.8.1/deploy/static/provider/cloud/deploy.yaml
# Ingress Resource
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: my-ingress
spec:
rules:
- host: app.example.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: web-service
port:
number: 80
- host: api.example.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: api-service
port:
number: 8080
# SSL/TLS with Ingress
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: secure-ingress
spec:
tls:
- hosts:
- app.example.com
secretName: app-tls-secret
rules:
- host: app.example.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: web-service
port:
number: 80
🎯 Ingress Controllers
# Ingress Controllers
- NGINX Ingress (most common)
- Traefik (modern, auto-discovery)
- HAProxy (high performance)
- Contour (Envoy-based)
- Kong (API gateway)
# Path-based Routing
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: path-ingress
spec:
rules:
- host: app.example.com
http:
paths:
- path: /api
pathType: Prefix
backend:
service:
name: api-service
port:
number: 8080
- path: /admin
pathType: Prefix
backend:
service:
name: admin-service
port:
number: 9000
- path: /
pathType: Prefix
backend:
service:
name: web-service
port:
number: 80
# Annotations (NGINX)
metadata:
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /$1
nginx.ingress.kubernetes.io/proxy-body-size: 10m
nginx.ingress.kubernetes.io/ssl-redirect: true
# Ingress Tips
- NGINX Ingress (most common)
- Use SSL/TLS for security
- Path-based routing for microservices
- Use annotations for configuration
💡 Ingress Tips
- NGINX Ingress (most common)
- Traefik (modern, auto-discovery)
- HAProxy (high performance)
- Use SSL/TLS for security
- Path-based routing for microservices
“Ingress simplifies HTTP routing. Single entry, SSL, path routing. Essential for production.”
