Présentation

Effectué

Supposons que vous avez commencé de travailler en tant que développeur de logiciels dans l’entreprise d’extérieur Contoso qui vend des vêtements et des cadeaux. L’activité explose et le site web de Contoso qui indique si des éléments sont ou non en stock, a récemment été refactorisé en microservices hébergés dans des conteneurs Docker.

Dans une approche de développement basée sur les microservices, chaque microservice détient son modèle et ses données, ce qui le rend autonome des autres microservices, du point de vue du développement et du déploiement. L’hébergement de microservices à l’intérieur d’un conteneur est un moyen courant d’y parvenir. Ces types de systèmes sont complexes à monter en charge et à gérer. Vous devez prendre en compte le processus d’organisation, d’ajout, de suppression et de mise à jour de nombreux conteneurs. Ce processus est appelé gestion des conteneurs.

Par exemple, vous pouvez constater qu’à des heures spécifiques de la journée, vous devez effectuer un scale-up du nombre d’instances de conteneur qui gèrent la mise en cache, ou vous pouvez avoir une mise à jour de l’instance de conteneur qui vérifie le stock de marchandises.

Pour faciliter les tâches de gestion des conteneurs, vous pouvez utiliser un orchestrateur de conteneurs. Kubernetes est l’un de ces orchestrateurs. C’est une plateforme open source portable et extensible pour la gestion et l’orchestration des charges de travail conteneurisées.

Ce module vous fait découvrir Kubernetes et les problèmes qu’il résout, mais aussi comment déployer une API web .NET et une application web dans un cluster Kubernetes.

Objectifs d’apprentissage

Dans ce module, vous allez :

  • Découvrez les concepts qui sous-tendent les orchestrateurs et pourquoi vous pouvez en avoir besoin.
  • Prenez un microservice .NET existant hébergé dans un conteneur Docker et envoyez-le vers le Docker Hub.
  • Déployez le microservice à partir de Docker Hub vers une instance locale de Kubernetes.
  • Découvrez comment mettre à l’échelle une instance de conteneur dans un cluster Kubernetes.