Qu'est-ce qu'un Ingress ?
Un Ingress gere l'acces HTTP/HTTPS externe au cluster avec :
- Routage base sur le nom de domaine
- Routage base sur le chemin (path)
- Terminaison SSL/TLS
- Load balancing
Installer un Ingress Controller
# NGINX Ingress Controller
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/main/deploy/static/provider/cloud/deploy.yaml
Ingress YAML
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: nginx-ingress
spec:
rules:
- host: app.example.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: nginx-service
port:
number: 80
Ingress avec plusieurs services
spec:
rules:
- host: app.example.com
http:
paths:
- path: /api
pathType: Prefix
backend:
service:
name: api-service
port:
number: 8080
- path: /
pathType: Prefix
backend:
service:
name: frontend-service
port:
number: 80
TLS/SSL
spec:
tls:
- hosts:
- app.example.com
secretName: tls-secret
rules:
- host: app.example.com
...
Production : Utilisez cert-manager pour gerer automatiquement les certificats SSL avec Let's Encrypt.