Kubernetes (K8s) est un système open source pour automatiser le déploiement, la montée en charge et la gestion de conteneurs d’application sur des grappes de serveurs.
déploiements de conteneurs : automatisation de cette étape, en simplifiant les paramétrages. équilibrage de charge : répartition du trafic réseau entre les conteneurs pour équilibrer la charge. gestion de l’état : facilitation de la gestion des applications, en assurant que les données restent accessibles même en cas de redémarrage des conteneurs.
auto-réparation : surveillance temps réel de l’état des applications, avec redémarrage automatique des conteneurs en échec, lancement ou arrêt des services en fonction des politiques définies. découverte de services et mise en réseau : attribution des adresses IP aux conteneurs, attribution de noms DNS uniques pour un groupe de conteneurs… monitoring : donne aux administrateurs les informations sur le fonctionnement des conteneurs.
La Cloud Native Computing Foundation (CNCF) est un projet de la Linux Foundation qui a été fondé en 2015 pour aider à faire progresser la technologie des conteneurs et rassembler les industries technologiques autour de son évolution.
Un pod est l'unité d'exécution de base d'une application Kubernetes — l'unité la plus petite et la plus simple dans le modèle d'objets de Kubernetes — que vous créez ou déployez.
Un pod représente des process en cours d'exécution dans votre cluster.
ReplicaSet : Maintient un ensemble stable de pods pour une application sans état (stateless)
StateFulSet : Gère un ensemble stable de Pods pour une application avec état (statefull)
DaemonSet : Garantit que tous les nodes exécutent un pod donné
ConfigMaps
Secret
Ephemeral Volume
Persistant Volume
Service
Ingress