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.conteneurisés. Elle favorise l'ecritureécriture de conf declarativedéclarative 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.
info générales
composants
-
Master Node / control plane : 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)
par défaut, le container runtime utilisé est containerd
Quel sont les noms des deux rôles que peuvent avoir les noeudsnœuds Kubernetes ?
control plane & worker node
À quoi servent les API Groups dans Kubernetes ?
À organiser les ressources Kubernetes sous différents groupes, permettant une évolution et une extension de l'API.
Qu'est-ce qu'un “Pod” dans Kubernetes ?
Un conteneur ou plusieurs conteneurs partageant des ressources
Dans quel namespace Kubernetes crée ses objets utilisateurs par default ?
Default
attention par contre, les parametres sont dans kube-system
Quel est l'ordre de création des objets Kubernetes instanciés lorsque l’on crée un déploiement au sein d’un Namespace spécifique ?
Namespace > Déploiement > ReplicatSet > Pod > Container
Quelles sont les phrases correctes à propos des déploiements ?
- Ils peuvent contenir plusieurs pods
- Ils doivent être déclaré en contenant le paramètre “replicas”
- On peut modifier directement l’image grâce à la commande “kubectl set image deployment …”
- Si l’on supprime le déploiement, toutes les ressources créées par celui-ci sont supprimées également (pods puis replicaset)
Quel est l'ordre de création des objets Kubernetes instanciés lorsque l’on crée un déploiement au sein d’un Namespace spécifique ?
Namespace > Déploiement > ReplicatSet > Pod > Container
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
pop quiz
le pod est la plus petite unité
le conteneur est en dessous du pod
dans un noeud, le kube proxy gère le reseau
un cluster kub acceuille des nods qui acceuille des pods qui accuille des conteneurs