"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Déployer une pile de surveillance avec Kubernetes, Helm et Ingress

Déployer une pile de surveillance avec Kubernetes, Helm et Ingress

Publié le 2024-11-08
Parcourir:820

Deploying a Monitoring Stack with Kubernetes, Helm, and Ingress

Observer et gérer les performances d'un cluster Kubernetes est crucial pour maintenir la santé des applications, identifier les problèmes et garantir la haute disponibilité. Je vais vous guider dans la configuration d'une solution de surveillance complète à l'aide de kubectl et Helm, le déploiement de Grafana, Loki et Prometheus sur votre cluster et la configuration d'Ingress pour un accès externe.

Nous aborderons les étapes clés suivantes :

  1. Application d'un espace de noms Kubernetes pour la surveillance.
  2. Installation de Helm et configuration des référentiels nécessaires.
  3. Déploiement de Loki, Prometheus et Grafana à l'aide de Helm.
  4. Application des règles Ingress pour exposer les services en externe.

Conditions préalables
Avant de commencer, assurez-vous d'avoir les éléments suivants :

  1. Un cluster Kubernetes avec kubectl configuré.
  2. Helm installé sur votre ordinateur local.
  3. Accès approprié pour appliquer les configurations YAML et installer les graphiques.

Étape 1 : Créer un espace de noms de surveillance

Les espaces de noms vous aident à diviser et à organiser logiquement vos ressources Kubernetes. Pour éviter les conflits et séparer les ressources de surveillance, nous allons créer un espace de noms dédié aux outils de surveillance.

1. Appliquez l'espace de noms de surveillance : enregistrez le contenu suivant dans un fichier monitoring-namespace.yml :

Version api : v1
genre : espace de noms
métadonnées :
nom : surveillance
étiquettes :
app.kubernetes.io/name : surveillance
app.kubernetes.io/instance : surveillance

2. Appliquez l'espace de noms à l'aide de kubectl :

kubectl apply -f monitoring-namespace.yml

Cette commande crée un nouvel espace de noms appelé surveillance dans votre cluster Kubernetes.

Étape 2 : Installer Helm et ajouter le référentiel Grafana
Helm, le gestionnaire de packages Kubernetes, facilite le déploiement d'applications complexes telles que Grafana, Loki et Prometheus. Voici comment installer Helm et configurer le référentiel nécessaire.

  1. Installer Helm (s'il n'est pas déjà installé) :

sudo snap install helm --classic

Cette commande installe Helm à l'aide de Snap, un système de gestion de packages pour Linux.

  1. Ajouter le référentiel de graphiques Grafana Helm :

helm repo ajouter grafana https://grafana.github.io/helm-charts

  1. Mettre à jour les référentiels Helm :

mise à jour du dépôt de barre

Cela garantit que Helm dispose des dernières graphiques du référentiel Grafana.

Étape 3 : Déployez Loki, Prometheus et Grafana avec Helm

Maintenant que Helm est installé et configuré, nous allons déployer Loki, Prometheus et Grafana à l'aide de la carte Grafana Helm.

1. Exécutez la commande d'installation Helm :

helm update --install loki --namespace=monitoring grafana/loki-stack \
--set grafana.enabled=true,prometheus.enabled=true,prometheus.alertmanager.persistentVolume.enabled=false,prometheus.server.persistentVolume.enabled=false,loki.persistence.enabled=true,loki.persistence.storageClassName=gp2 ,loki.persistence.size=100Gi --set nodeSelector.name=node.kubernetes.io/description=all_production

A : Grafana : **Cela active Grafana, l'outil de tableau de bord de surveillance, dans le graphique Helm.
**B : Prometheus : **Prometheus est activé pour la collecte de métriques, tandis que les volumes persistants pour Alertmanager et le serveur Prometheus sont désactivés pour simplifier la configuration du stockage.
**C : Loki :
Loki, l'outil d'agrégation de journaux, est activé avec un stockage de volume persistant de 100 Gi à l'aide de la classe de stockage gp2.

L'indicateur --install garantit que la pile est installée si elle n'a pas été déployée auparavant. L'indicateur --upgrade met à jour la pile vers la dernière version si elle est déjà installée.

2. Vérifier l'installation : Après une installation réussie, vérifiez l'état des pods exécutés dans l'espace de noms de surveillance :

kubectl obtient les pods -n surveillance

Vous devriez voir des pods pour Grafana, Prometheus, Loki et Promtail (qui envoie les journaux à Loki).

Étape 4 : Configurer Ingress pour l'accès externe

Pour accéder à Grafana, Prometheus ou Loki depuis l'extérieur de votre cluster, vous devez configurer une ressource Ingress. Cela permet un accès HTTP/S externe aux services de surveillance.

*1. Créez une ressource Ingress : enregistrez l'exemple suivant dans un fichier monitoring-ingress.yml :
*

Version api : networking.k8s.io/v1
genre : Entrée
métadonnées :
nom : surveillance-entrée
espace de noms : surveillance
annotations :
kubernetes.io/ingress.class : "nginx"
cert-manager.io/cluster-issuer : permet de chiffrer
spécification :
tl :
- hôtes :

- votre-domaine.com
secretName : nom du certificat
règles:
- hébergeur : votre-domaine.com
http:
chemins :
- chemin: /
pathType : Préfixe
backend :
service:
nom : loki-grafana
port:
numéro : 80

Cette configuration Ingress configure le routage pour Grafana, Prometheus et Loki sous le nom de domaine {votre-domaine.com}. Vous devrez remplacer votre-domaine.com par votre domaine actuel et configurer DNS pour qu'il pointe vers l'adresse IP externe de votre cluster.

2. Appliquer la ressource Ingress :

kubectl apply -f monitoring-ingress.yml

Une fois appliqué, le contrôleur Ingress acheminera le trafic vers les services appropriés en fonction du nom d'hôte.

  1. Vérifier la configuration d'Ingress : vérifiez l'état de votre ressource Ingress pour vous assurer qu'elle a été correctement configurée :

kubectl obtient la surveillance d'entrée -n

Assurez-vous que votre colonne ADRESSE dispose d'une adresse IP externe pour que les services soient accessibles en externe.

Étape 5 : Accédez au tableau de bord de surveillance

Une fois que l'Ingress est correctement configuré et que le DNS pointe vers votre cluster, vous pouvez accéder à Grafana, Prometheus et Loki.

Conclusion

En quelques commandes seulement, vous avez déployé avec succès une pile de surveillance complète à l'aide de Helm sur votre cluster Kubernetes. En tirant parti des graphiques Helm, vous simplifiez le déploiement d'applications complexes telles que Grafana, Loki et Prometheus tout en intégrant Ingress pour un accès facile. Vous disposez désormais d'une puissante configuration d'observabilité qui vous permet de surveiller les journaux et les métriques en temps réel, vous aidant ainsi à gérer et à optimiser vos applications Kubernetes plus efficacement.

Ce déploiement basé sur Helm garantit l'évolutivité et simplifie les mises à niveau ou les modifications de configuration, facilitant ainsi la gestion de l'observabilité dans un environnement de production.

Déclaration de sortie Cet article est reproduit sur : https://dev.to/seewhy/deploying-a-monitoring-stack-with-kubernetes-helm-and-ingress-cp5?1 En cas de violation, veuillez contacter [email protected] pour le supprimer
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3