Le réseau Kubernetes gère la connectivité entre pods, entre services, et depuis l’extérieur du cluster.


Composants réseau couverts

ComposantRôleNote
ingress-nginxReverse proxy HTTP/HTTPS — routage entrant vers les Servicesingress-nginx
ciliumPlugin CNI (eBPF) — réseau des pods + NetworkPolicies L7 + observabilitécilium
cert-managerGestion automatique des certificats TLS (Let’s Encrypt, CA privée)cert-manager
kube-proxyRègles iptables/eBPF pour implémenter les Services (ClusterIP, NodePort, LB)kube-proxy

Comment le trafic entre dans le cluster

Internet
   │
   ▼  DNS → IP du Load Balancer cloud (AWS ALB / NLB)
   │
   ▼  Load Balancer externe (cloud-controller-manager le crée)
   │
   ▼  NodePort ou service type LoadBalancer
   │
   ▼  ingress-nginx (Ingress Controller)
      │  ← lit les ressources Ingress
      │  ← termine TLS (cert-manager fournit le certificat)
      │  ← route par Host / path
      ▼
   Service Kubernetes (ClusterIP)
      │
      ▼  kube-proxy (règles iptables/eBPF)
      │
      ▼  Pod applicatif

Réseau interne des pods (CNI)

Pod A (10.244.1.5)  ←──── CNI (Cilium) ────►  Pod B (10.244.2.8)
                              │
                    NetworkPolicy L3/L4/L7
                    (autoriser/bloquer par label, namespace, port)

Chaque pod obtient une IP unique dans le cluster. Les pods peuvent se joindre directement par IP, sans NAT.


Types de Services Kubernetes

TypeAccessibilitéMécanisme
ClusterIPInterne au cluster uniquementIP virtuelle + kube-proxy
NodePortVia <NodeIP>:<port> depuis l’extérieurOuvre un port sur chaque nœud
LoadBalancerIP externe (cloud)cloud-controller-manager crée le LB
ExternalNameAlias DNS vers un FQDN externeCoreDNS CNAME

TLS dans Kubernetes

cert-manager surveille les ressources Certificate / Issuer
       │
       ▼  ACME HTTP-01 ou DNS-01 (Let's Encrypt)
       │  ou CA privée interne
       ▼
   Secret Kubernetes (type: kubernetes.io/tls)
       │
       ▼  ingress-nginx monte le secret → termine TLS

En relation avec