Formation DevOps | Formation kubernetes : A - Architecture Kubernetes
Architecture de Kubernetes
Kubernetes se découpe en deux parties :
• Le control plane :
Le plan de contrôle contient les composants Kubernetes qui contrôlent le cluster (ses « cerveaux ») , ainsi que des données sur l'état et la configuration du cluster.
Ces principaux composants de Kubernetes s'assurent que suffisamment de conteneurs peuvent fonctionner avec les ressources nécessaires.
• Les workers :
Les workers sont les machines, sur lesquelles Kubernetes place des pods à exécuter , peuvent etres machines virtuelles ou physiques .

Les composants du controle plane :
Un plan de contrôle Kubernetes est le plan de contrôle pour un cluster Kubernetes. Ses composants sont les suivants :
• kube-apiserver : Comme son nom l’indique, le serveur d’API expose l’API Kubernetes, qui est la centrale de communication. Les communications externes via l’interface de ligne de commande (CLI) kubectl ou d’autres interfaces utilisateur (IU) passent par le serveur kube-apiserver, tout comme toutes les communications entre les plans de contrôle et les nœuds.
• Etcd : Base de donnee clé-valeur dans lequel toutes les données relatives au cluster sont stockées. etcd est hautement disponible et cohérent, car tous ses accès s’effectuent via le serveur d’API. Les informations contenues dans etcd sont généralement au format YAML lisible par l’utilisateur.
• kube-scheduler : lorsqu’un nouveau pod est créé, ce composant l’affecte à un nœud pour exécution en fonction des besoins en ressources, des règles et des spécifications d’« affinité » concernant la géolocalisation et les interférences avec d’autres charges de travail.
• kube-controller-manager : basé sur une boucle qui controlle en permanence l’état des resources et essaie de le corriger s’il n’est plus conforme .
Prérequis master : minimum de 3 nœuds maîtres par cluster.
Kubernetes conserve toutes les données critiques dans etcd, qui en utilise la majorité pour réparer en cas de panne. Une instance d’etcd s’exécute sur chaque nœud maître. Trois est le nombre minimum d’etcds que l’on souhaite soutenir dans un cluster de niveau production. Par conséquent, trois est le nombre minimum de maîtres par cluster.
Les composants installées sur les workers :

Un cluster Kubernetes requiert au moins un nœud de calcul, mais en général il en contient un grand nombre.
• kubelet : chaque nœud est associé à un agent appelé kubelet. Il garantit que le conteneur fonctionne correctement.
• kube-proxy : proxy réseau sur chaque nœud qui gère les nœuds de réseau et permet la communication entre les pods et les sessions réseau, à l’intérieur ou à l’extérieur du cluster .
• container runtime : logiciel responsable de l’exécution des applications conteneurisées. Même si Docker est le plus populaire, Kubernetes prend en charge tout runtime compatible avec l’interface Kubernetes CRI (Container Runtime Interface).

Architecture avec un seul node pour le controle plane et des workers

Architecture plusieurs node pour le controle plane avec workers

Combien de nœuds un cluster doit-il avoir ?
• Il n’y a pas de contrainte particulière (pas besoin d’avoir un nombre impair de nœuds pour le quorum)
• Un cluster peut avoir zéro nœud (mais il ne pourra alors démarrer aucun pod)
• Pour les tests et le développement, avoir un seul nœud est très bien
• Pour la production, assurez-vous d’avoir une capacité supplémentaire (afin que votre charge de travail reste adaptée si vous perdez un nœud ou un groupe de nœuds)
• Kubernetes est testé avec jusqu’à 5 000 nœuds (cependant, exécuter un cluster de cette taille nécessite beaucoup de réglages)
Faut-il vraiment exécuter Docker ?
Non!
• Le Docker Engine était l’option par défaut pour exécuter des conteneurs avec Kubernetes
• La prise en charge de Docker (en particulier : dockershim) a été supprimée dans Kubernetes 1.24
• Nous pouvons exploiter d’autres environnements d’exécution enfichables via l’interface Container Runtime
• On pourrait aussi utiliser rkt (“Rocket”) de CoreOS (obsolète)
Certains environnements d’exécution disponibles via CRI
• containerd
• maintenu par Docker, IBM et la communauté
• utilisé par Docker Engine, microk8s, k3s, GKE ; également autonome
• est livré avec sa propre CLI, ctr
• CRI-O :
• maintenu par Red Hat, SUSE et la communauté
• utilisé par OpenShift et Kubic
• conçu spécifiquement comme un runtime minimal pour Kubernetes
• Et plus
je vous ai préparé un training complet sur les Containers Runtime
1. Nous contactez
- Description: Besoin de Formation et des Solutions cloud complètes pour vos applications
- Links:
2. Infra as a Service
- Description: Infrastructure cloud évolutive et sécurisée
- Links:
3. Projets Développeurs
- Description: Découvrez des opportunités passionnantes pour les développeurs
- Links:
4. Développeurs
- Description: Rejoignez notre communauté de développeurs
- Links:
5. Formations Complètes
- Description: Accédez à des formations professionnelles de haute qualité
- Links:
6. Marketplace
- Description: Découvrez notre place de marché de services
- Links:
7. Blogs
- Description: Découvrez nos blogs
- Links:
- comment creer une application mobile ?
- Comment monitorer un site web ?
- Command Checkout in git ?
- Comment git checkout to commit ?
- supprimer une branche git
- dockercoin
- kubernetes c est quoi
- architecture kubernetes
- Installer Gitlab Runner ?
- .gitlab-ci.yml exemples
- CI/CD
- svelte 5 vs solid
- svelte vs lit
- solidjs vs qwik
- alpine vs vue
- Plateform Freelance 2025
- Creation d’un site Web gratuitement
This website is powered by ItGalaxy.io