Généralités | Kubernetes
Introduction
En 2003/2004, Google développe Borg pour orchestrer ses infrastructures internes. Renommer "seven" et améliorer en 2013. Renommer Kubernetes en 2014 et annonce publique. 2015 = release de la v1 et transfert à la CNCF (open source). Il devient leader en 2018, suivi en 2019 par des ajouts de sécurité, renforcement d'automatisation et intégration IA. Depuis 2024, focus sur l'exp utilisateur, l'efficacité énergétique et le multi-cloud.
Kubenetes est donc une plateforme open-source extensible pour la gestion de charges de travail (workload) de services contenreurisés. Elle favorise l'ecriture de conf declarative et l'automatisation. Parfois nommé K8S car 8 lettres en le K et le S. Elle est donc utile pour automatiser le déploiement, la mise à l'échelle et la gestion des applications conteneurisées, souvent avec Docker.
composants
- Master Node (gère le cluster : API Server, Scheduler, Controller Manager, etcd)
- Worker Nodes (exécutent les apps : kubelet, kube-proxy, moteur comme Docker)
- Pods (unités minimales, 1+ conteneurs), Services (accès aux pods)
- Volumes (stockage persistant)
Orchestration avec Kubernetes
Kubernetes gère déploiement (via YAML), mise à l'échelle (auto/manuelle, ex. kubectl scale deployment my-app --replicas=5), réseaux/stockage (services, volumes), sécurité/monitoring (Prometheus, politiques).
Exemple YAML déploiement : apiVersion: apps/v1, kind: Deployment, replicas: 3, etc