Affichage des articles dont le libellé est Kubernetes. Afficher tous les articles
Affichage des articles dont le libellé est Kubernetes. Afficher tous les articles

lundi 24 août 2020

C'est quoi Grafana ?

C'est incroyable le nombre d'outils dans le Développement Logiciel et le DevOps ! On parle alors de stack quand les uns s'appuient sur les autres, comme dans un empilement. Ici je découvre la stack Grafana, Jenkins, Kubernets, Cosmos. A quoi sert Grafana et qu'elle est la place de Grafana dans tout ça ?

Grafana Labs - Dashboard anything. Observe everything.

Grafana est une communauté de développeurs énorme, aujourd'hui il y a 1 213 contributeurs.

Grafana on Github
Grafana on Github

J'installe rapidement sur mon Windows l'exécutable serveur et je lance mon browser à l'adresse localhost:3000 ça marche tout seul.

Gafana - Install on Windows

Mais Grafana n'est pas tout seul c'est un éco-système qui intègre par exemple Graphite :

Utilisation de "Graphite" dans Grafana

Voici comme Grafana s'intègre dans l'Azure de Microsoft pour la création de Pipeline :

Microsoft - Pipeline CI/CD pour les charges de travail basées sur les conteneurs

Place de Grafana dans la Stack d'outils DevOps
Place de Grafana dans la Stack d'outils DevOps

Dans le cadre de cette Architecture DevOps, Grafana permet de visualiser les alertes et de mieux comprendre les mesures.

On y voit à l'oeuvre la stack : Visual Studio Code, GitHub, Jenkins, Kubernetes, Azure, Azure Monitor, Grafana. Moi je pourrais dire à peu prêt à quoi servent toutes ses briques mais vous avouerez que ça fait une belle pile !


Je poursuis ma découverte par les fundamentals de Grafana. L'angle de l'architecture devops que j'ai choisi pour la découverte de Grafana n'est pas le plus facile mais on a là la meilleure utilisation de Grafana intégré dans une stack DevOps :

Grafana fundatmentals

Pour les prérequis, il me faut Docker, Docker Compose et Git, rien de moins ...
Pour Docker, il faut Hyper-V.

Install de Hyper-V pour Windows

En cliquant sur "Add features".

The processor does not have required virtualization capabilities

Bref, pour moi ça va s'arrêter là ! Bon je trouve une VM avec Hyper-V capabilities, je lance l'installe de Docker ...


Stack Grafana - C'est pas gagné !

Bon, bas pour moi, malheureusement ça s'arrête là ... Grafana !

Autres outils du même genre ... c'est incroyable de voir l'émergence de tant d'outils. Si je trouve un article sur Grafana on va me parler de :

Prometheus

Kibana

Grafana Open Source

Si c'est OpenSource, alors il doit y avoir des sources sans doute sous github, voici donc :

GitHub - Grafana Labs

Là on est dans l'antre de la communauté Grafana ...

Grafana Create Free Cloud Account

Et on peut aller créer ses propres tableaux de bord en créant un compte au sein de Grafana Cloud :

Création d'un Tableau de Bord avec Grafana
Création d'un Tableau de Bord avec Grafana

C'est magnifique cette application écrite en langage Go et Angular.

Un mot de l'équipe Grafana, toujours sur GitHub :

Grafana - Team Members

Le créateur c'est Torkel Ödegaard qui à démarré Grafana en 2014 en partant de Kibana et en faisant un "fork" (une branche depuis le code source).

Mais bon ça ressemble à notre solution qui est toute fois beaucoup plus simple ... et la notre est en C# .NET avec ASP.NET Core Framework, c'est un peu mieux que du Go !

GitHub - DataMonitoring - Universal Dashboard

CQFD !

vendredi 23 novembre 2018

Connaissez-vous Kubernetes ? Outil du DevOps

Parmi les outils du DevOps voici Kubernetes, un outil qui a le vent en poupe. Intéressons nous aux fonctionnalités qu'il procure. Cet outil permet de gérer les applications mises en containers.

Les outils du DevOps Kubernetes
Les outils du DevOps Kubernetes

Définition : Kubernetes est un système open source permettant de gérer des applications contenairisées sur des hôtes multiples. Il fournit des mécanismes de base pour le déploiement, la maintenance et la mise à l'échelle (scale up) d'applications.

Ce projet open source est hébergé par le Cloud Native Computing Foundation (CNCF).

J'ai trouvé à travers la documentation quelque graphiques simples pour présenter cet outil :

Learn Kubernetes Basics

Qu'est-ce que Kubernetes peut faire pour nous ?

Avec les services Web modernes, les utilisateurs s'attendent à ce que les applications soient disponibles 24 heures sur 24, 7 jours sur 7, et les développeurs s'attendent à déployer de nouvelles versions de ces applications plusieurs fois par jour. 

La containeurisation aide les progiciels à atteindre ces objectifs, permettant ainsi aux applications d'être publiées et mises à jour de manière simple et rapide, sans temps d'arrêt.

Kubernetes vous aide à vous assurer que ces applications containeurisées s'exécutent où et quand vous le souhaitez et les aide à trouver les ressources et les outils dont elles ont besoin pour fonctionner.

Kubernetes est une plate-forme open source prête pour la production, conçue avec l'expérience accumulée de Google dans l'orchestration de conteneurs, associée aux meilleures idées de la communauté.

Kubernetes Basics Modules - Basic workflow

  1. Créer un cluster Kubernetes
  2. Deployer une application
  3. Explorer votre application
  4. Exposer votre application publiquement
  5. Scale up votre application
  6. Mettre à jour votre application

Voilà c'est tout pour l'instant, je garde en tête le nom de cet outil et s'il permet de faire facilement tout cela. Dans le cadre du DevOps, il est indispensable d'automatiser toutes les tâches possibles pas seulement pour gagner du temps mais pour supprimer les erreurs humaines également.

J'ai passé du temps à recueillir ces informations et pourtant ce n'est pas exhaustif, je ne sais même pas sur quelle plateforme cet outil s'installe !

Mise à jour, de plus en plus de client cherchent des compétences sur Kubernetes

Je me suis retrouvé dans un Bootcamp :

kubernetes bootcamp 1
kubernetes bootcamp 1

La seule commande que j'ai su taper c'est :

>exit

En fait, il faut cliquer sur les commandes dans la fenêtre de gauche sous "Cluster up and running" et vous verrez les commandes :

>minikube version

>minikube start ...

Vous avez alors les commandes qui s'exécutent et affichent leur déroulement dans la console.

Kubernetes dans le Cloud Azure de Microsoft

Je trouve toute une littérature sur le sujet, sur le site de Microsoft je trouve :

Kubernetes dans le Cloud Azure
Kubernetes dans le Cloud Azure

Microsoft - Azure Kubernetes Service (AKS)

AKS réduit la complexité et les coûts opérationnels liés à la gestion de Kubernetes en déléguant une grande partie de cette responsabilité à Azure.

Beaucoup de blabla, pas de cas pratique, beaucoup de liens vers d'autres technos. C'est normal, la complexité de Kubernetes ne s'appréhende pas en une demi-journée.

J'ouvre mon portail Azure et je cherche Kubernetes, je trouve "Kubernetes - Azure Arc", alors Azure Arc c'est quoi ? ... Ils appellent cela : Hybride et multicloud

Il me faut creuser encore ...