Débuter avec Elastic Cloud on Kubernetes, un article d’Alexandre NASRY, Solution Architect DevOPS de la SynalTeam. Déployez facilement une stack Elasticsearch – Kibana au sein du Managed Kubernetes Service d’OVHcloud !
Débuter avec Elastic Cloud on Kubernetes
ElasticSearch est devenu avec le temps un véritable leader dans son domaine. Nous avons fait le choix chez Synaltic d’adopter cette solution depuis 2015. Ce moteur de recherche, nous permet la centralisation, l’indexation et l’interrogation des données de manière distribuée et performante.
Avec l’apparition de nouvelles extensions telles que l’Application Performance Monitoring (APM) et le Security Information and Event Management (SIEM), la société a étendu son offre pour devenir une plateforme complète de monitoring et de sécurité de vos systèmes.
La société Elastic a également avancé sur son offre autour de Kubernetes avec, notamment, des helms charts mais également avec un Operator : ECK !
L’Elastic Cloud on Kubernetes (ECK) permet de faciliter le cycle de vie de votre Elastic Stack dans une architecture Kubernetes.
Je vais vous présenter comment déployer facilement une stack Elasticsearch – Kibana au sein du Managed Kubernetes Service d’OVHcloud en 5 min montre en main !
On est prêt ? C’est parti !
Pré-requis
- Un Managed Kubernetes Service avec un pool de 3 noeuds B2-7
- Kubernetes 1.12+
- Kubectl 1.11+
- Une connaissance de Kubernetes
Mon cluster est prêt !
Commençons par installer les Custom Resources Definition (CRD) de ECK.
Pour rappel, les CRD permettent d’étendre l’API de Kubernetes et d’y ajouter nos propres ressources (Kind).
Nous pouvons vérifier si l’installation s’est bien déroulée en vérifiant les logs de notre operator Elastic.
Nous pouvons aussi vérifier la présence des services
Déployer ElasticSearch
Une fois l’operator créé, nous pouvons désormais déclarer des ressources issues de la stack Elastic (Elasticsearch, Kibana, Beats, …).
Commençons par mettre en place un nœud Elasticsearch, pour ce faire nous allons créer un manifeste.
Que se passe-t-il en coulisse ?
L’opérateur ECK va automatiquement créer et manager les ressources Kubernetes pour atteindre l’état désiré. Dans notre exemple, il va déployer un pod Elasticsearch.
Au bout de quelques secondes vous devriez obtenir le status “Running”
Nous pouvons également vérifier l’état du cluster en interrogeant la ressource que nous avons créé via les CRD.
Félicitations ! Vous avez un cluster Elasticsearch de démarré !
Déployer Kibana
Au tour de Kibana désormais, le template est quasi similaire à celui d’Elasticsearch, on notera l’ajout du champ elasticsearchRef. Comme son nom l’indique, nous déclarons le nom de l’Elasticsearch que l’on vient juste de déployer : quickstart.
Ceci permettra aux deux éléments de pouvoir communiquer entre eux.
Vérifions le déploiement
Et voilà, notre installation est terminée ! (je vous avais dit que c’était rapide !)
Accéder à l’interface
Pour y accéder nous allons nous servir de la commande kubectl port-forward.
Vous pouvez désormais accéder à l’interface de Kibana via l’url suivante : https://localhost:5601
Pour l’authentification, un compte utilisateur “elastic” est créé par défaut. Pour le mot de passe, celui-ci est stocké en base64 dans un secret Kubernetes. Voici la commande pour le récupérer.
Ouh la belle interface !
Bonus Stage
Comme je vous l’expliquais, l’intérêt de l’opérateur ECK est de pouvoir gérer plus facilement le cycle de vie de votre stack Elastic. Il n’est jamais évident d’ajouter ou de retirer des nœuds dans un cluster Elasticsearch.
Reprenons notre template de base :
Nous avons passé la valeur count à 2 et nous avons relancé la commande. Attendez quelques secondes et réexécutez la commande
Nous avons désormais deux nœuds dans notre cluster !
Ce sujet vous intéresse ? De l’installation à votre premier Dashboard en 20 minutes, c’est donc l’objectif de cette présentation en forme de tutos !
Webinaire ECK
En bref
Elastic Cloud on Kubernetes est un outil très puissant pour déployer et manager sa stack Elastic. Il est possible de configurer chaque aspect de son cluster (persistance des données, sécurité, gestions des rôles,…) tout en conservant la simplicité qu’offre la syntaxe déclarative de Kubernetes.
Synaltic propose un ensemble d’offres de conseils et de formations pour vous accompagner autour d’OVH, Kubernetes et Elasticsearch.
Découvrez nos formations
MarketPlace d’OVHcloud
Nous vous proposons des solutions clés en main hébergées dans un cloud de confiance :
Ne manquez pas de découvrir nos offres !
Contactez nous