Présentation
La pile ELK s'intègre nativement à Kubernetes, où elle sert de pile de surveillance - elle collecte, stocke et analyse les données de télémétrie k8. Il existe plusieurs méthodes pour configurer et déployer la pile ELK sur Kubernetes, et l'utilisation des graphiques Helm est la plus simple.
Dans ce didacticiel, vous apprendrez à utiliser un graphique helm pour installer Elasticsearch, le composant principal de la pile ELK, ainsi que Kibana et Metricbeat (à la place de Logstash), sur votre cluster Kubernetes.
Prérequis
- Un cluster Kubernetes (vous pouvez le créer avec minikube)
- outil de ligne de commande kubectl installé
- Gestionnaire de packages Helm installé
Configurer le cluster Kubernetes pour Elasticsearch
1. Commencez par démarrer Minikube. Un cluster multi-nœuds pour Elasticsearch nécessite des ressources système importantes, alors assurez-vous d'allouer suffisamment de CPU et de mémoire en utilisant le --cpus
et --memory
option :
minikube start --cpus 4 --memory 8192
Important : Si vous avez déjà exécuté un cluster Minikube sur le même système, vous ne pouvez pas utiliser les options mentionnées ci-dessus pour allouer des ressources. Pour démarrer un nouveau cluster, utilisez le minicube delete
pour supprimer le cluster précédent, puis suivez les instructions.
2. Vérifiez si votre cluster fonctionne correctement en tapant :
kubectl cluster-info
Le résultat confirme que le plan de contrôle Kubernetes et KubeDNS sont en cours d'exécution :
Déployer Elasticsearch avec Helm
1. Pour commencer à installer Elasticsearch, ajoutez le elastic
référentiel dans Helm :
helm repo add elastic https://helm.elastic.co
2. Maintenant, utilisez le curl
commande pour télécharger le values.yaml
fichier contenant les informations de configuration :
curl -O https://raw.githubusercontent.com/elastic/helm-charts/master/elasticsearch/examples/minikube/values.yaml
3. Utilisez l'helm install
commande et le values.yaml
fichier pour installer le graphique helm Elasticsearch :
helm install elasticsearch elastic/elasticsearch -f ./values.yaml
Le -f
l'option permet de spécifier le yaml
fichier avec le modèle. Si vous souhaitez installer Elasticsearch dans un espace de noms spécifique, ajoutez le -n
option suivie du nom de l'espace de noms.
helm install elasticsearch elastic/elasticsearch -n [namespace] -f ./values.yaml
La sortie confirme l'état de l'application déployée et propose des options supplémentaires pour tester l'installation :
4. La première option consiste à utiliser le get pods
commande pour vérifier si les membres du cluster sont actifs :
kubectl get pods --namespace=default -l app=elasticsearch-master -w
Une fois READY
la colonne dans la sortie est entièrement remplie avec 1/1
entrées, tous les membres du cluster sont actifs :
L'autre option consiste à utiliser le helm test
commande pour examiner l'état du cluster :
helm test elasticsearch
5. Une fois que vous avez installé avec succès Elasticsearch, utilisez le kubectl port-forward
commande pour le transférer vers le port 9200 :
kubectl port-forward svc/elasticsearch-master 9200
Pour continuer à utiliser le terminal après avoir exécuté le port-forward
commande, exécutez la commande dans une autre fenêtre de terminal.
Installer Kibana
1. Pour installer Kibana au-dessus d'Elasticsearch, saisissez la commande suivante :
helm install kibana elastic/kibana
La sortie confirme le déploiement de Kibana :
2. Vérifiez si tous les pods sont prêts :
kubectl get pods
Le pod Kibana apparaît sous les pods Elasticsearch :
3. Transférez Kibana vers le port 5601 en utilisant kubectl
:
kubectl port-forward deployment/kibana-kibana 5601
4. Après avoir configuré la redirection de port, accédez à Elasticsearch et à l'interface graphique de Kibana en saisissant http://localhost:5601
dans votre navigateur :
Installer Metricbeat
L'installation de Metricbeat suit le même schéma que l'installation de Kibana.
1. Utilisez Helm pour émettre l'install
commande :
helm install metricbeat elastic/metricbeat
2. Confirmez que les pods Metricbeat sont opérationnels :
kubectl get pods
3. Pour voir l'indexation des métriques Elasticsearch, utilisez le curl
commande :
curl localhost:9200/_cat/indices
4. Visitez Kibana. Vous allez maintenant pouvoir créer un modèle d'index. Accédez à Gestion de la pile> Modèles d'index :
5. Cliquez sur Create Index Pattern
bouton pour commencer à travailler avec Kibana.