Pods, Images & Ingress
Déploiements applicatifs Kubernetes professionnels avec gestion images, registres privés et exposition services
Workloads Kubernetes
Kubernetes offre plusieurs abstractions pour déployer vos applications : Pods pour conteneurs uniques, Deployments pour apps stateless scalables, StatefulSets pour apps stateful avec identités stables. Nous maîtrisons tous les patterns de déploiement pour vos besoins applicatifs.
Types de Workloads
Deployments (Apps Stateless)
- •Rolling updates zéro-downtime
- •Rollback instantané en cas de problème
- •ReplicaSets pour haute disponibilité
- •HPA (Horizontal Pod Autoscaling)
- •Use case : APIs, frontends web, workers
StatefulSets (Apps Stateful)
- •Identités stables (nom DNS, PV)
- •Ordre déploiement/suppression garanti
- •Persistent Volumes par pod
- •Headless Services pour discovery
- •Use case : DBs (PostgreSQL, MongoDB), Kafka
DaemonSets (System Services)
- •Un pod par nœud automatiquement
- •Ajout pods sur nouveaux nœuds
- •Node selectors pour placement ciblé
- •Use case : log collectors, monitoring agents
Jobs & CronJobs
- •Jobs : tâches ponctuelles (migration DB)
- •CronJobs : tâches récurrentes (backups)
- •Parallélisme configurable
- •Retry logic et backoff
Gestion Images Docker
Best Practices Images
Séparation build/runtime pour images ultra-légères : image finale 10x plus petite, pas d'outils build en production, surface d'attaque minimale.
Alpine Linux (5MB), distroless Google, scratch pour Go binaries. Moins de packages = moins de CVE, temps de pull réduits.
Éviter :latest, utiliser version sémantique (v1.2.3) ou commit SHA. Immutabilité garantie, rollback précis, reproductibilité builds.
Trivy intégré au CI/CD, scan chaque push, blocage si CVE critiques, rapports automatisés. Conformité sécurité continue.
Instructions COPY/ADD en fin de Dockerfile, dépendances avant code app, builds CI/CD 5-10x plus rapides grâce au cache.
Harbor : Registry Privé
Fonctionnalités Harbor
- •Registry Docker compatible OCI
- •Scan vulnérabilités Trivy intégré
- •RBAC granulaire par projet
- •Réplication inter-registres
- •Webhooks, garbage collection, quotas
Sécurité Harbor
- •Content Trust (image signing)
- •CVE allowlisting/blocking
- •Immutabilité tags (prevent overwrite)
- •LDAP/OIDC pour authentification
- •Audit logs complets
Ingress Controllers
Les Ingress exposent vos services HTTP/HTTPS à l'extérieur du cluster avec routage intelligent, SSL termination et load balancing. Choix du controller selon besoins : Nginx pour simplicité, Traefik pour features modernes, HAProxy pour performances.
Nginx Ingress
- • Le plus utilisé, stable
- • SSL/TLS termination
- • Path/host based routing
- • Rate limiting, auth
- • Annotations riches
Traefik
- • Cloud-native, moderne
- • Auto-discovery services
- • Let's Encrypt automatique
- • Dashboard intégré
- • Middlewares (auth, rate limit)
HAProxy Ingress
- • Performances maximales
- • Configuration avancée ACL
- • Sticky sessions
- • Health checks sophistiqués
- • Stats temps réel
Configuration Avancée
Health Checks (Probes)
Liveness probe (restart si échec), readiness probe (retire du load balancing), startup probe (apps lentes au démarrage). HTTP, TCP ou exec command.
Resource Requests & Limits
Requests pour scheduling (CPU, RAM garantis), limits pour isolation (évite noisy neighbors). QoS classes : Guaranteed, Burstable, BestEffort.
Affinity & Anti-Affinity
Node affinity (placement pods sur nœuds spécifiques), pod anti-affinity (répartir replicas sur nœuds différents pour HA), taints/tolerations.
Secrets & ConfigMaps
ConfigMaps pour configuration (env vars, files montés), Secrets pour données sensibles (passwords, tokens), mise à jour sans rebuild images.
Exemple Déploiement Complet
- • Frontend: Deployment Nginx (3 replicas) + Service ClusterIP + Ingress HTTPS
- • API Backend: Deployment Node.js (5 replicas, HPA 5-20) + Service ClusterIP
- • Database: StatefulSet PostgreSQL (3 replicas) + Headless Service + PVC (Longhorn)
- • Cache: Deployment Redis (1 replica) + Service
- • Workers: Deployment background jobs (2 replicas) + CronJob backups quotidiens
- • Monitoring: ServiceMonitor Prometheus, Grafana dashboards
Déployez Vos Applications sur Kubernetes
Conteneurisez et déployez vos applications avec les best practices Kubernetes pour scalabilité et fiabilité maximales.