Dans les environnements cloud native (comprendre pensés à l'ère du Cloud), les applications deviennent de plus en plus complexes et les paradigmes d'architecture ont évolué vers les microservices. Plusieurs problèmes se posent alors:
- Comment avoir une vision claire et simple sur le fonctionnement de notre application, le monitoring classique n'étant plus adapté à ces environnements hautement volatiles?
- De plus, comment sécuriser les communications réseau au sein de l'applicatif, faire porter cette responsabilité par l'applicatif alourdissant le code et complexifiant le travail des développeurs?
- D'autre part, comment gérer les évolutions et montées en version de ces applications, les mécanismes classiques disponibles sur Kubernetes répondant à certains besoins mais pas à tous?
C'est ici que la Service Mesh intervient et nous allons découvrir ensemble comment installer Linkerd2 sur un cluster Kubernetes et comment l'utiliser afin de gagner en observabilité, en sécurité et en souplesse dans la gestion d'une application construite autour d'une architecture microservices.
Dans cet atelier, nous ferons une petite introduction à Kubernetes avant de déployer notre propre cluster. Nous introduirons ensuite la Service Mesh ainsi que Linkerd2 plus en détails que nous déploieront dans notre cluster Kubernetes. Enfin, nous utiliserons le Service Mesh pour gérer une application de démonstration.
Prérequis:
- disposer d'un poste avec un client SSH et un navigateur ainsi qu'une connection Internet
- être à l'aise avec la ligne de commande Linux
- être à l'aise avec les conteneurs
- avoir une première expérience sur Kubernetes est un vrai plus