best practices6 min de lecture

Checklist de mise en production Kubernetes : 15 bonnes pratiques

SFEIR Institute

Points clés

  • 15 points structurés couvrent ressources, sécurité, observabilité et résilience
  • 80% des organisations gèrent 20+ clusters Kubernetes en production (Spectro Cloud 2025)

Vous êtes ingénieur opérations Cloud Kubernetes certification CKA et vous préparez le passage en production de votre cluster ? Cette checklist regroupe les 15 bonnes pratiques production Kubernetes validées par les équipes qui gèrent des environnements critiques. Selon le rapport Spectro Cloud 2025, 80% des organisations exécutent Kubernetes en production avec une moyenne de 20+ clusters par entreprise.

TL;DR : Une checklist production Kubernetes structurée en 15 points couvre la configuration des ressources, la sécurité, l'observabilité et la résilience. Chaque point inclut une commande ou configuration vérifiable.

Cette compétence est au cœur de la formation LFS458 Administration Kubernetes.

Pourquoi l'ingénieur opérations Cloud Kubernetes certification CKA doit structurer sa mise en production ?

La mise en production d'un cluster Kubernetes sans méthodologie expose votre organisation à des risques majeurs. Les équipes IT passent en moyenne 34 jours de travail par an à résoudre des problèmes Kubernetes. Une checklist production Kubernetes réduit drastiquement ce temps perdu.

À retenir : Structurez votre mise en production autour de quatre piliers : ressources, sécurité, observabilité et résilience.

Les bonnes pratiques conteneurisation Docker constituent le prérequis avant d'appliquer cette checklist.

Les 5 pratiques de configuration des ressources

1. Définir les requests et limits pour chaque container

Configurez systématiquement les requests et limits CPU/mémoire :

resources:
  requests:
    memory: "256Mi"
    cpu: "250m"
  limits:
    memory: "512Mi"
    cpu: "500m"

Sans ces paramètres, un pod peut consommer toutes les ressources du node et provoquer des évictions en cascade.

2. Configurer les ResourceQuotas par namespace

Les ResourceQuotas empêchent un namespace de monopoliser les ressources du cluster :

apiVersion: v1
kind: ResourceQuota
metadata:
  name: production-quota
spec:
  hard:
    requests.cpu: "10"
    requests.memory: 20Gi
    limits.cpu: "20"
    limits.memory: 40Gi

3. Appliquer les LimitRanges

Les LimitRanges définissent des valeurs par défaut et des bornes pour les containers :

apiVersion: v1
kind: LimitRange
metadata:
  name: default-limits
spec:
  limits:
  - default:
      cpu: "500m"
      memory: "256Mi"
    defaultRequest:
      cpu: "100m"
      memory: "128Mi"
    type: Container

4. Utiliser les PodDisruptionBudgets

Protégez vos workloads critiques pendant les opérations de maintenance :

apiVersion: policy/v1
kind: PodDisruptionBudget
metadata:
  name: app-pdb
spec:
  minAvailable: 2
  selector:
    matchLabels:
      app: critical-service

5. Configurer les priorityClasses

Définissez des priorités pour garantir que les workloads critiques restent schedulés :

apiVersion: scheduling.k8s.io/v1
kind: PriorityClass
metadata:
  name: high-priority
value: 1000000
globalDefault: false
description: "Pour les services critiques"
À retenir : Les ressources mal configurées sont une cause majeure des incidents de production Kubernetes.

Consultez le guide Gestion multi-environnements Kubernetes pour adapter ces configurations par environnement.

Comment l'ingénieur opérations Cloud Kubernetes certification CKA doit sécuriser le cluster ?

6. Activer les NetworkPolicies

Par défaut, tous les pods peuvent communiquer. Restreignez ce comportement :

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: deny-all
spec:
  podSelector: {}
  policyTypes:
  - Ingress
  - Egress

7. Configurer les SecurityContexts

Interdisez l'exécution en root et les privilèges élevés :

securityContext:
  runAsNonRoot: true
  runAsUser: 1000
  readOnlyRootFilesystem: true
  allowPrivilegeEscalation: false

8. Implémenter RBAC granulaire

Appliquez le principe du moindre privilège avec des Roles et ClusterRoles spécifiques :

apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
  name: pod-reader
rules:
- apiGroups: [""]
  resources: ["pods"]
  verbs: ["get", "watch", "list"]

9. Scanner les images container

Intégrez un scanner de vulnérabilités dans votre CI/CD. 67% des organisations ont retardé des déploiements à cause de préoccupations sécuritaires Kubernetes.

10. Activer les Pod Security Standards

Depuis Kubernetes 1.25, utilisez les Pod Security Standards natifs :

apiVersion: v1
kind: Namespace
metadata:
  name: production
  labels:
    pod-security.kubernetes.io/enforce: restricted

La sécurité Kubernetes requiert une approche défense en profondeur détaillée dans notre guide dédié.

Les 3 pratiques d'observabilité essentielles

11. Configurer les probes de santé

Trois types de probes assurent la disponibilité de vos applications :

livenessProbe:
  httpGet:
    path: /healthz
    port: 8080
  initialDelaySeconds: 30
  periodSeconds: 10
readinessProbe:
  httpGet:
    path: /ready
    port: 8080
  initialDelaySeconds: 5
  periodSeconds: 5
startupProbe:
  httpGet:
    path: /healthz
    port: 8080
  failureThreshold: 30
  periodSeconds: 10

12. Centraliser les logs

Déployez une stack de logging centralisée (EFK, Loki, ou solution cloud). Les logs ephémères des pods disparaissent avec eux.

13. Implémenter le monitoring et alerting

Prometheus et Grafana constituent le standard. Configurez des alertes sur :

  • Utilisation CPU/mémoire > 80%
  • Pods en état CrashLoopBackOff
  • Certificats expirant sous 30 jours
  • PersistentVolumes > 85% utilisés

Le guide Monitoring et dépannage Kubernetes détaille l'implémentation complète.

À retenir : Sans observabilité, vous ne pouvez pas diagnostiquer les problèmes avant qu'ils n'impactent les utilisateurs.

Les 2 pratiques de résilience

14. Configurer l'autoscaling

Activez le Horizontal Pod Autoscaler pour adapter la capacité à la charge :

apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
  name: app-hpa
spec:
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: my-app
  minReplicas: 3
  maxReplicas: 10
  metrics:
  - type: Resource
    resource:
      name: cpu
      target:
        type: Utilization
        averageUtilization: 70

15. Tester les scénarios de failure

Simulez régulièrement des pannes : suppression de pods, perte de nodes, saturation réseau. Le chaos engineering valide votre résilience.

Les problèmes de scaling Kubernetes peuvent survenir même avec une configuration correcte.

Checklist récapitulative pour sécuriser cluster Kubernetes production

CatégoriePratiqueCommande de vérification
RessourcesRequests/Limitskubectl describe pod -n prod
RessourcesResourceQuotaskubectl get resourcequota -n prod
RessourcesLimitRangeskubectl get limitrange -n prod
RessourcesPodDisruptionBudgetskubectl get pdb -n prod
RessourcesPriorityClasseskubectl get priorityclass
SécuritéNetworkPolicieskubectl get networkpolicy -n prod
SécuritéSecurityContexts`kubectl get pod -o yaml \grep security`
SécuritéRBACkubectl auth can-i --list
SécuritéImage scanningPipeline CI/CD
SécuritéPod Security Standardskubectl get ns --show-labels
ObservabilitéHealth probeskubectl describe pod
ObservabilitéLogging centralisékubectl logs vers backend
ObservabilitéMonitoringPrometheus targets up
RésilienceAutoscalingkubectl get hpa
RésilienceChaos testingTests réguliers planifiés

Comment valider votre checklist avant le go-live ?

Exécutez ce script de validation avant chaque mise en production :

#!/bin/bash
NAMESPACE="production"

echo "=== Validation Kubernetes Production ==="

# Vérifier les ressources
echo "Pods sans limits:"
kubectl get pods -n $NAMESPACE -o json | jq '.items[] | select(.spec.containers[].resources.limits == null) | .metadata.name'

# Vérifier la sécurité
echo "NetworkPolicies actives:"
kubectl get networkpolicy -n $NAMESPACE --no-headers | wc -l

# Vérifier les probes
echo "Pods sans readinessProbe:"
kubectl get pods -n $NAMESPACE -o json | jq '.items[] | select(.spec.containers[].readinessProbe == null) | .metadata.name'

Documentez les résultats et corrigez les écarts avant le déploiement. Le guide Résoudre les erreurs de déploiement Kubernetes vous aide à diagnostiquer les problèmes courants.

Préparez votre certification CKA avec une formation structurée

71 % des entreprises Fortune 100 utilisent Kubernetes en production. La maîtrise de ces bonnes pratiques production Kubernetes est essentielle pour tout ingénieur opérations Cloud.

L'examen CKA teste des compétences pratiques et utiles. Comme le rapporte un candidat sur TechiesCamp : "It wasn't just theory - it matched real-world situations you'd actually run into when working with Kubernetes."

La formation LFS458 Administration Kubernetes de 4 jours vous prépare à l'examen CKA avec un score de passage de 66%. Consultez également Kubernetes, les fondamentaux pour découvrir les concepts de base avant de vous lancer. Pour approfondir, consultez notre formation premier déploiement sur kubernetes en 30 minutes. Pour approfondir, consultez notre migration vers kubernetes en production dans un grand groupe.

Contactez nos conseillers pour planifier votre parcours de certification.