Architecture d'Ingress : Pourquoi Zoraxy en bordure ?
Dans une infrastructure Kubernetes de production ou de laboratoire, la question de la gestion des certificats TLS et de l'exposition des services est primordiale. Traditionnellement, beaucoup d'architectures s'appuient sur cert-manager déployé au sein même du cluster avec des ingress annotations et des challenges HTTP-01 ou DNS-01.
Sur comoweb.fr, j'ai fait le choix architectural délibéré de ne pas utiliser cert-manager dans Kubernetes, mais de déléguer l'ensemble de la terminaison TLS et du routage frontal à un reverse proxy Zoraxy dédié en amont.
Internet (Dual WAN : Free & Numericable)
│
▼
2x Cisco ISR 1100 (HSRP Gateway)
│
▼
Stack 2x Cisco Catalyst 3650-24P
│
▼
Pare-feu OPNsense (DMZ & Filtrage)
│
▼
┌─────────────────────────────────────────┐
│ Zoraxy Edge Reverse Proxy │
│ - Terminaison TLS Let's Encrypt global │
│ - WAF & Redirection L7 │
│ - Zéro Cert-Manager dans les pods │
└────────────────────┬────────────────────┘
│
VIP Interne (MetalLB)
▼
Ingress-NGINX Controller (Cluster K8s)
│
▼
Pods Applicatifs
Les avantages de cette approche
Suppression de cert-manager dans Kubernetes :
- Évite de surcharger les clusters avec des CRDs complexes (
Issuer,ClusterIssuer,Certificate,Challenge,Order). - Aucune dépendance d'API tokens DNS injectés dans les pods du cluster pour les challenges DNS Let's Encrypt.
- Les plans de contrôle Kubernetes restent ultra-légers et focalisés sur la logique métier.
- Évite de surcharger les clusters avec des CRDs complexes (
Point d'entrée unique pour toute l'infrastructure :
- Zoraxy ne route pas seulement vers Kubernetes : il permet également d'exposer ou de sécuriser les interfaces d'administration hors-cluster (Proxmox VE, GitLab, OPNsense, Authentik, etc.) sous des sous-domaines propres avec certificats valides.
Séparation nette des responsabilités (SOC & Ops) :
- La bordure L7 s'occupe de la négociation TLS (TLS 1.3, chiffrement moderne, certificats wildcard).
- L'Ingress-NGINX interne au cluster ne reçoit que du trafic déjà déchiffré ou ré-aiguillé proprement sur le réseau privé.
Configuration du routage vers MetalLB
Le contrôleur MetalLB attribue une adresse IP VIP interne à notre contrôleur Ingress-NGINX. Zoraxy achemine ensuite les requêtes HTTP/HTTPS vers cette VIP :
# Exemple de configuration Ingress K8s interne simplifiée (sans annotation cert-manager)
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: site-vitrine-ingress
namespace: comoweb-prod
spec:
ingressClassName: nginx
rules:
- host: comoweb.fr
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: site-vitrine-service
port:
number: 80
Grâce à ce découplage, la gestion des certificats est centralisée, auditée et d'une fiabilité totale.