Metrics Server est venue remplacer rapidement Heapster et permet de collecter
et d’aggreger des metriques de consommation en provenance des nodes et des pods
du cluster Kubernetes.
Prérequis
Pour que Metrics Server fonctionne correctement il faut au préalable activer
la diffustion des certificats généré par kubelet, pour les faire signer par
l’autorité de certification du cluster. Si vous ne faites pas cela vous
obtiendrez des erreurs dans les logs du pods metrics-server avec ce genre de
contenu :
On pourrait désactiver le controle des certificats mais j’aime pas ça. Donc dans
un premier il faut éditer le configmap kubelet-config appartenant au namespace
kube-system :
Rechercher la ligne contenant kind: KubeletConfiguration et ajouter juste en
dessous ceci :
Comme sous vi :wq
Ensuite sur tous les noeuds du cluster (master et worker) éditer de la même
façon le fichier /var/lib/kubelet/config.yaml. Je fourni les exemples de
commande à réaliser dans ma CKASandBox :
De la même manière que précédement :
Sauvegardez et quittez. Il faut ensuite relancer le service kubelet
Répétez l’opération sur tous les noeuds du cluster !
Maintenant nous allons signer les certificats.
Pour tous les certificats en status pending :
Installation de Metrics Server
C’est assez simple il suffit de lancer cette commande kubectl :
Vérifions le status du pod metrics-server :
Si au bout de quelques minutes il n’est pas Ready (1/1). Alors consulter ces
logs :
Consultation des metriques remontées par Metrics Server
Kubectl permet d’afficher et d’exploiter les informations stockées dans
metrics-server.
Pour les nodes :
Pour les pods
Ces informations vont vous permettre de mettre en place des limites de
ressources à chacun des composants de kubernetes.
Plus loin avec Metrics Server
Metrics-Server ne propose aucune historisation des données collectées. Pour cela
il faut installer par exemple Prometheus, pour le stockage et Grafana, pour la
visualisation des données collectées. Cela fera le sujet d’un prochain billet.
Autre point Metrics Server intègre un outil d’autoscaling Horizontal qui fera
aussi le sujet d’un autre billet.