Glossaire

Kubernetes

Découvrez comment Kubernetes rationalise les charges de travail d'IA/ML avec un déploiement de modèles évolutif, un entraînement distribué et une gestion efficace des ressources.

Kubernetes, souvent abrégé en K8s, est une plateforme d'orchestration de conteneurs open-source qui automatise le déploiement, la mise à l'échelle et la gestion des applications conteneurisées. Développée à l'origine par Google et désormais maintenue par la Cloud Native Computing Foundation (CNCF), Kubernetes fournit un cadre robuste pour l'exécution de systèmes distribués résilients. Dans le contexte de l'intelligence artificielle (IA) et du Machine Learning (ML), il est devenu un outil essentiel pour gérer l'ensemble du cycle de vie des modèles ML, de la formation au déploiement dans des environnements de production.

Fonctionnement de Kubernetes

Kubernetes fonctionne sur un cluster de machines, qui peuvent être des serveurs physiques ou des machines virtuelles, sur site ou dans le cloud. Les principaux composants sont les suivants :

  • Cluster : Un ensemble de nœuds (machines de travail) qui exécutent des applications conteneurisées.
  • Nœud : Une machine de travail dans un cluster Kubernetes. Chaque nœud exécute un Kubelet, qui est un agent permettant de gérer le nœud et de communiquer avec le plan de contrôle.
  • Pod : L'unité la plus petite et la plus simple du modèle d'objet Kubernetes. Un Pod représente une instance unique d'un processus en cours d'exécution dans un cluster et peut contenir un ou plusieurs conteneurs, tels que les conteneurs Docker.
  • Déploiement : Il gère un ensemble de répliques de Pods, en s'assurant qu'un nombre spécifié d'entre eux sont en cours d'exécution à tout moment. Il gère automatiquement les mises à jour et les retours en arrière.

En faisant abstraction du matériel sous-jacent, Kubernetes permet aux développeurs et aux ingénieurs MLOps de définir l'état souhaité de leur application, et il s'efforce de maintenir cet état, en gérant les défaillances et les besoins de mise à l'échelle automatiquement. Pour en savoir plus, consultez la documentation officielle de Kubernetes.

Kubernetes dans l'IA et l'apprentissage automatique

Kubernetes est particulièrement puissant pour les opérations d'apprentissage automatique (MLOps) car il permet de relever de nombreux défis associés à la construction et au déploiement de systèmes d'IA à l'échelle. Sa capacité à gérer efficacement les ressources en fait un outil idéal pour les tâches gourmandes en ressources telles que l'entraînement des modèles. Kubernetes peut mettre à l'échelle les tâches de formation sur plusieurs GPU et nœuds, ce qui réduit considérablement le temps de formation.

Par déduction, Kubernetes assure une haute disponibilité et une grande évolutivité. Voici quelques exemples concrets :

  1. Service évolutif de détection d'objets : Une entreprise déploie un modèle Ultralytics YOLO11 pour la détection d'objets en temps réel sous la forme d'un service web. Le modèle est intégré dans un conteneur. Grâce à Kubernetes, l'entreprise peut automatiquement augmenter ou diminuer le nombre de pods d'inférence en fonction du trafic entrant. Si un nœud tombe en panne, Kubernetes réorganise automatiquement les pods sur des nœuds sains, garantissant ainsi que le service reste disponible sans intervention manuelle. Il s'agit d'un modèle courant de déploiement de modèles dans les systèmes de surveillance intelligents.
  2. Pipeline NLP complexe en microservices : Une équipe construit une application de traitement du langage naturel (NLP) qui comprend plusieurs étapes : prétraitement du texte, analyse des sentiments et reconnaissance des entités nommées. Chaque composant est un microservice distinct, conteneurisé indépendamment. Kubernetes orchestre ces services, gère leur mise en réseau et permet à chaque partie d'être mise à jour et mise à l'échelle de manière indépendante. Cette architecture offre flexibilité et résilience aux applications complexes pilotées par l'IA.

Kubernetes et les technologies connexes

  • Kubernetes vs. Docker : Docker est un outil permettant de construire et d'exécuter des conteneurs individuels. Kubernetes est un orchestrateur de conteneurs, qui en gère des milliers sur de nombreuses machines. Il ne s'agit pas de concurrents mais de collaborateurs ; vous construisez des images de conteneurs avec Docker et les gérez ensuite avec Kubernetes. Vous pouvez commencer par les bases en suivant le guide de démarrage rapide de Docker.
  • Kubernetes par rapport à l'informatique sans serveur : Les plateformes sans serveur comme AWS Lambda font abstraction de toute gestion de serveur. En revanche, Kubernetes offre plus de contrôle sur l'infrastructure, ce qui la rend plus adaptée aux applications de longue durée ou avec état. Alors que le serverless est plus simple pour les fonctions pilotées par des événements, les frameworks serverless peuvent fonctionner sur Kubernetes à l'aide d'outils comme Knative.

Outils et écosystème

L'écosystème Kubernetes est vaste et comprend de nombreux outils permettant d'étendre ses fonctionnalités :

  • Helm : Souvent appelé le gestionnaire de paquets pour Kubernetes, Helm vous aide à gérer les applications Kubernetes.
  • Prometheus et Grafana : Une combinaison populaire pour la surveillance des clusters et des applications Kubernetes.
  • Intégrations des fournisseurs de cloud : Les principaux fournisseurs de cloud proposent des services Kubernetes gérés, tels que Google Kubernetes Engine (GKE), Amazon Elastic Kubernetes Service (EKS) et Azure Kubernetes Service (AKS), qui simplifient la configuration et la maintenance des clusters.
  • Plateformes ML : Des outils comme Kubeflow sont construits sur Kubernetes pour fournir des flux de travail spécifiques au ML pour les pipelines, la formation et le déploiement. Des plateformes telles qu'Ultralytics HUB rationalisent le pipeline MLOps, en faisant souvent abstraction des complexités de Kubernetes pour faciliter le déploiement des modèles.

Rejoindre la communauté Ultralytics

Rejoignez l'avenir de l'IA. Connectez-vous, collaborez et évoluez avec des innovateurs mondiaux.

S'inscrire
Lien copié dans le presse-papiers