Repository navigation
Les containers
La technologie la plus répandue en termes d'utilisation de containers est Docker. Mais d'autres technologies font aujourd'hui concurrence à Docker, comme Podman ou Rancher.
Le principal intérêt des containers est le principe d'isolation :
- Pas de prise de tête avec l'OS
- Versions figées, pas de mise à jour automatique risquant de créer des effets de bord
- Onboarding facilité
- Autant d'applications que de containers
- Largement moins gourmand qu'un hyperviseur (pour les VMs)
Tous les containers utilisent les ressources du noyau de l'OS.
Warning
Le noyau Windows étant construit différemment de celui de Linux, il n'est pas possible de lancer des containers Windows depuis un système Linux.
La technologie des containers remonte à plusieurs décennies : LXC est utilisé par Linux, mais il est de bas niveau et n'est pas facilement exploitable par l'utilisateur. C'est pour cela que d'autres technologies, comme Docker, ont émergé.
Il est possible de faire tourner Docker sur son PC dans un contexte de développement local.

Mais les problématiques d'un environnement en production sont bien différentes, et l'on y rencontre :
- Un nombre important d'utilisateurs de l'application (dépassant les milliers)
- Plusieurs containers qui doivent communiquer entre eux
- L'importance de la disponibilité : en production, l'environnement doit fonctionner 24h/24
- etc.

Il ne suffit donc pas seulement de faire tourner Docker en production pour couvrir ces contraintes. Il faut utiliser un système par dessus : l'orchestration de containers.
Kubernetes (k8s)
- Accueil
- Vue d'ensemble
- Les containers
- L'orchestration
- L'architecture de k8s
- Les composants de k8s
- Noeud maître vs noeud esclave
- Les namespaces
- Les pods
- Les sondes et le cycle de vie
- Les ReplicaSets
- Les Deployments
- Les Jobs
- Les CronJobs
- Les DaemonSets
- Les StatefulSets
- Les ConfigMaps et Secrets
- Les volumes persistants (PV & PVC)
- Les Services
- Les Ingress
- Le Gateway API
- La mise à l'échelle
- Le RBAC
- Helm
- kubectl