Recherche de site Web

Comment la dernière version de Kubernetes gère désormais les charges de travail d'IA - et plus encore


En plus de résoudre les problèmes du logiciel conteneur avec les tâches d'IA et de ML, Kubernetes 1.31 offre plusieurs améliorations clés en matière de sécurité.

Kubernetes, le système d'orchestration de gestion de conteneurs, s'est avéré essentiel pour l'informatique moderne, à l'exception d'un domaine : l'intelligence artificielle (IA) et l'apprentissage automatique (ML). Le problème : l’IA/ML nécessite des ressources CPU, mémoire et GPU importantes, qui ne sont pas faciles à gérer sur Kubernetes.

Désormais, avec la dernière version de Kubernetes - Kubernetes 1.31, Elli -- la Cloud Native Computing Foundation (CNCF) résout ces problèmes.

Les fonctionnalités d'IA améliorées d'Elli commencent par la prise en charge alpha des images et des artefacts Open Container Initiative (OCI) en tant que source de volume native. Cela peut sembler peu, mais cela permet aux développeurs de changer de modèles de langage volumineux (LLM) aussi facilement qu'ils le font pour les images de conteneurs ordinaires.

Elli apporte également une API et une conception d'allocation dynamique de ressources mises à jour à Kubernetes. Cette fonctionnalité contribuera à standardiser l'accès et la gestion des accélérateurs matériels, tels que les GPU, qui sont essentiels pour l'IA et le ML. Cela simplifie également la mise en œuvre de fonctionnalités telles que la mise à l'échelle automatique du cluster, ce qui, à son tour, facilitera l'exécution de tâches d'IA et de ML sur Kubernetes.

Dans le passé, Kubernetes disposait de plusieurs façons d'accéder au matériel sous-jacent d'un hôte. L'allocation dynamique de ressources (DRA) mise à jour offre un moyen plus simple d'accéder aux ressources système. L'ancien style, qui utilise un contrôleur de pilote DRA, est toujours pris en charge via le « DRA classique ».

Laissant l'IA derrière lui, Kubernetes prend désormais entièrement en charge AppArmor, un module de sécurité du noyau Linux qui permet aux administrateurs système de restreindre les capacités des programmes avec des profils par programme. Cette fonctionnalité a atteint une disponibilité générale, permettant aux utilisateurs de définir des profils AppArmor pour les conteneurs directement via l'API Kubernetes. Mise en œuvre correctement, la prise en charge d'AppArmour contribuera à rendre les clusters et les charges de travail Kubernetes plus sécurisés.

Ailleurs sur le plan de la sécurité, une nouvelle fonctionnalité facultative permet aux administrateurs de configurer les points de terminaison afin que les demandes d'accès anonymes puissent être bloquées. Cela contribuera à protéger les clusters contre les erreurs de configuration du contrôle d'accès basé sur les rôles (RBAC) qui pourraient autrement donner aux utilisateurs anonymes un large accès au cluster.

En tant que programme open source en constante évolution, Kubernetes 1.31 continue également de rationaliser et de moderniser sa base de code en supprimant les fonctionnalités obsolètes. Cela comprend :

  • Suppression des intégrations de fournisseurs cloud dans l'arborescence : En complétant un processus qui a débuté avec la version 1.26, Kubernetes 1.31 supprime toutes les intégrations de fournisseurs cloud dans l'arborescence. Cette décision fait partie d'un effort continu visant à garantir que Kubernetes reste une plate-forme neutre vis-à-vis des fournisseurs. Vous pouvez toujours intégrer vos clusters Kubernetes avec un fournisseur de cloud spécifique. Cependant, vous ne pourrez pas le faire depuis Kubernetes. Vous devrez utiliser l'approche recommandée via une intégration externe.
  • Obsolescence des plugins de limite de volume non-CSI : la version rend obsolète tous les plugins de planification de limite de volume non-CSI, ce qui s'aligne sur la stratégie de Kubernetes visant à passer à l'interface de stockage de conteneurs (CSI) pour toutes les fonctionnalités liées au stockage.
  • Obsolescence de Cgroups v1 : Cgroups est une fonctionnalité du noyau Linux qui vous permet d'allouer, de hiérarchiser et de gérer les ressources système entre les processus. À partir de maintenant, cgroups v2 est ce que vous devriez utiliser.

Mettez tout cela ensemble et cette version va bien plus que rendre Kubernetes compatible avec l’IA. Angelos Kolaitis, ingénieur logiciel senior de Canonical et chef d'équipe pour la version Kubernetes 1.31, a déclaré que cette nouvelle version vise à « supprimer la complexité et les détails spécifiques à l'implémentation du code de Kubernetes, à laisser Kubernetes se concentrer sur l'état souhaité et à tout laisser ». des implémentations, toutes les sources supplémentaires en dehors de celles-ci.

Au-delà des nouvelles fonctionnalités, Kolaitis a déclaré : « Vous n'avez rien à faire, mais Kubernetes prendra des mesures supplémentaires pour garantir que vos charges de travail fonctionnent, sont fiables et sur lesquelles vous pouvez compter pour que vos services de production ne soient pas interrompus. ".

Les nouvelles fonctionnalités sont intéressantes, mais la stabilité est en or. Pour cette seule raison, je recommande d’explorer une mise à jour de Kubernetes 1.31 le plus tôt possible.

Articles connexes