Kubernetes est une plateforme d’orchestration de conteneurs open source. Également lancé en 2013, Kubernetes (« timonier » en grec ancien) est utilisé pour automatiser divers processus logiciels tels que la gestion, le déploiement et la mise à l’échelle.
Dans un service Kubernetes, un ou plusieurs ordinateurs (machines virtuelles ou Bare Metal Servers) sont liés dans un cluster permettant l’exécution de workloads conteneurisés de tailles et de types différents. Kubernetes est souvent déployé grâce aux charts Helm, des collections de fichiers qui permettent de décrire les différentes ressources du cluster Kubernetes, puis de les regrouper pour former une application.
Kubernetes permet l’utilisation d’applications ML conteneurisées, facilite la mise à l’échelle et prend en charge les cadres et outils ML. Kubernetes peut également être utilisé comme plateforme pour les workloads d’entraînement de l’IA.
Docker et Kubernetes sont similaires à bien des égards. Ils diffèrent toutefois en termes d’échelle. En effet, Docker est essentiellement un environnement d’exécution des conteneurs, tandis que Kubernetes est une plateforme complète, conçue pour prendre en charge la gestion et l’exécution des conteneurs provenant de plusieurs environnements d’exécution. Pour mieux comprendre la différence entre les deux, disons que Kubernetes est tellement vaste que Docker n’est que l’un des environnements d’exécution de conteneurs qu’il prend en charge.