Intégration de Prometheus avec Kubernetes
Objectifs du chapitre et prérequis
1. Contexte et prérequis
Dans les chapitres précédents, le lecteur a travaillé sur l’intégration de Prometheus avec Docker Swarm. Le but de ce chapitre est de réaliser le même travail avec Kubernetes.
La première partie du chapitre sera consacrée à découvrir quelques concepts sur le fonctionnement de Kubernetes. Une méthode d’installation sera également abordée à l’aide de l’utilitaire Kind. La suite du chapitre s’attaquera au déploiement de Prometheus et à son interfaçage avec Kubernetes.
À noter que ce qui va suivre n’a pas vocation à devenir une installation réelle : il s’agit d’un exercice permettant d’aborder certains concepts (intégration à Kubernetes, communication TLS, etc.). Pour une installation plus réaliste, consultez le chapitre Opérateur Prometheus pour Kubernetes.
2. Fichiers téléchargeables
Vous pouvez récupérer les exemples sur le repository GitHub suivant : https://github.com/EditionsENI/prometheus-grafana
Vous pouvez également récupérer ces fichiers dans l’archive chapitre-12.tar.gz depuis la page Informations générales.
Intégration de Prometheus dans Kubernetes
1. Contexte
La mise en place de containers avec Docker permet de répondre à certains problèmes rencontrés fréquemment dans la gestion des applications :
-
Simplification des mises à jour.
-
Simplification de la gestion des dépendances système.
-
Uniformisation des mécanismes de livraison.
Toutefois, ces apports se font au prix d’une complexification des procédures, notamment sur le suivi des nouveaux pods et de leur cycle de vie.
Pour la suite, l’utilisateur devra avoir accès à un cluster Kubernetes. Ce cluster devra être en mesure de télécharger n’importe quelle image sur Internet. Il est recommandé d’avoir également quelques notions sur le fonctionnement de Kubernetes. Toutefois, les notions nécessaires seront abordées au fur et à mesure et ne devraient pas constituer un obstacle infranchissable si ce dernier est déjà familier avec la notion de container Docker.
Dans le cas où vous ne disposeriez pas de cluster, le lecteur abordera l’installation de Kubernetes à l’aide de Kind. Le prérequis sera alors de disposer d’un moteur Docker.
Le projet Kind n’a pas vocation à héberger des charges de production. Il s’agit principalement d’un moyen simple de s’exercer au fonctionnement de Kubernetes. N’hésitez pas à consulter le livre Kubernetes du même auteur aux Éditions ENI consacré à ce sujet.
2. Création d’un cluster Kubernetes à l’aide de Kind
a. Prérequis
Kind est un projet qui a pour but de déployer un moteur Kubernetes dans un moteur Docker. Son nom vient de l’abréviation Kubernetes In Docker. Dans le cas où le moteur de container ne serait pas installé, déroulez la procédure Installation de Docker du chapitre Déploiement via container.
Les exemples pris par la suite se baseront sur l’utilisation d’une machine Linux Ubuntu 20.04 sur architecture AMD64.
b. Téléchargement de Kind
La première opération sera de récupérer une version fonctionnelle de Kind. Cette dernière se présente sous la forme d’un binaire téléchargeable à...