Sobes.tech
Middle

À quoi sert le plan de contrôle de Kubernetes et que font les nœuds de travail?

sobes.tech IA

Réponse de l'IA

Le plan de contrôle gère le cluster : il reçoit des commandes, planifie les processus du kube-scheduler, gère les états via le kube-controller-manager, et stocke la configuration dans etcd. Les nœuds de travail (workers) exécutent les charges de travail réelles (pods) sous la gestion de kubelet et gèrent les requêtes réseau via kube-proxy.

Plan de contrôle :

  • kube-apiserver : Serveur API du cluster, point d'entrée unique.
    # Exemple d'appel à l'API
    apiVersion: v1
    kind: Pod
    metadata:
      name: my-pod
    spec:
      containers:
      - name: my-container
        image: nginx
    
  • etcd : Stockage distribué cohérent de type clé-valeur pour stocker l'état du cluster.
  • kube-scheduler : Sélectionne le nœud pour déployer de nouveaux pods.
  • kube-controller-manager : Lance des contrôleurs qui surveillent l'état du cluster et effectuent les changements nécessaires.
    • Contrôleur de nœuds
    • Contrôleur de réplication, ReplicaSet, Deployment
    • Contrôleur de points de terminaison
    • Contrôleurs de comptes de service et de jetons
  • cloud-controller-manager (optionnel) : Interagit avec les fournisseurs cloud pour gérer les ressources (balanceurs de charge, volumes persistants, etc.).

Nœuds de travail :

  • kubelet : Agent exécuté sur chaque nœud. Gère les conteneurs dans les pods, en interagissant avec l'environnement d'exécution des conteneurs (par exemple, Docker, containerd).
    # Exemple de commande que peut exécuter kubelet (simplifié)
    docker run nginx
    
  • kube-proxy : Maintient les règles réseau sur les nœuds, assurant la communication entre pods, le réseau du cluster et le monde extérieur.
  • Container Runtime : Logiciel responsable du lancement des conteneurs (Docker, containerd, CRI-O).