Aller au contenu principal
Sommaire de la formation

Introduction à Kubernetes Cluster API et fonctionnement

coolibra930 vues

1. Introduction à Cluster API

  • Cluster API et Comparaison avec d'autres outils (kOps, kubeadm, etc.)
  • Architecture de Cluster API : Cluster Controller, Provider, Bootstrap Provider
  • Présentation des providers : CAPA (AWS), CAPZ (Azure), CAPG (GCP), CAPMOX (proxmox), CAPH (Harvester), etc

Kubernetes Cluster API (CAPI)

CAPI est un sous-projet de Kubernetes qui fournit des API déclaratives et des outils pour simplifier le provisionning, le scale, l'upgrade et le destroy de plusieurs clusters Kubernetes.

Initié par le Kubernetes Special Interest Group (SIG) Cluster Lifecycle, le projet Cluster API adopte les API et les modèles de Kubernetes pour automatiser la gestion du cycle de vie des clusters. L'infrastructure sous-jacente, incluant les machines virtuelles, les réseaux, les load balancers et les VPC, ainsi que la configuration du cluster Kubernetes, sont tous définis de manière déclarative. Cela permet des déploiements de clusters cohérents et reproductibles sur divers environnements d'infrastructure.

Cluster API se distingue des autres telque (kOps, kubeadm, rke2...) en apportant une approche unifiée pour déployer et gérer Kubernetes de manière cross-platform et cloud-agnostic.

Il fonctionne en utilisant des CRDs (Custom Resource Definitions) et des controllers pour automatiser la gestion du cycle de vie des clusters Kubernetes. Voici un aperçu de son fonctionnement :

  1. Il faut un cluster kubernetes pour installer cluster api. On l'appelle management cluster generalement ce premier cluster est installé autrement, minimaliste et production ready
  2. Déclaration du cluster : Un utilisateur décrit son cluster Kubernetes cible en utilisant des manifestes YAML. Ces manifestes incluent des ressources comme Cluster, Machine, MachineDeployment, etc.

  3. Application des manifests : Ces fichiers YAML sont appliqués sur un cluster de gestion (management cluster) qui exécute les controllers de Cluster API.

  4. Création des ressources :

    • Infrastructure Provider crée l'infrastructure nécessaire (machines virtuelles, réseaux, stockage, etc.).
    • Bootstrap Provider génère les configurations pour initialiser les nœuds du cluster.
    • Control Plane Provider met en place les composants du plan de contrôle Kubernetes.
  5. Supervision et mises à jour : Une fois le cluster déployé, les controllers de Cluster API surveillent son état et permettent d'effectuer des opérations comme le scaling, les mises à jour et l'auto-réparation.

  6. Suppression et nettoyage : Si un cluster doit être supprimé, Cluster API gère la suppression de toutes les ressources associées.

Ce mécanisme permet une gestion standardisée et reproductible des clusters Kubernetes, indépendamment du fournisseur d'infrastructure.

Présentation des Providers

Cluster API s'appuie sur un système de providers pour supporter différentes infrastructures. Chaque provider est un ensemble de CRDs et de controlleurs permettant de gérer les ressources spécifiques à une plateforme donnée.

Chaque provider est adapté à une infrastructure donnée et permet une gestion cohérente des clusters Kubernetes sur des environnements hybrides et multi-cloud.

 

Cluster API s'appuie également sur un système de bootstrap pour supporter différentes  distributions kubernetes:

Bootstrap

Control Plane

Commentaires

Connectez-vous pour rejoindre la discussion.

Aucun commentaire pour le moment.