RousselTMLEARNING

TP · Alloy : de la découverte à l'expertise

TP : Déployer Alloy sur Kubernetes avec Helm

Ce que vous allez apprendre dans ce TP
  • Installer Alloy avec Helm
  • Découvrir des pods par annotation
  • Externaliser la configuration

Introduction #

Ce que vous allez apprendre dans cette section
  • Installer Alloy avec Helm
  • Découvrir des pods par annotation
  • Externaliser la configuration

Contexte. En production Alloy tourne sur Kubernetes. Vous le déployez avec le Helm Chart officiel, en StatefulSet clusterisé, puis vous sortez sa configuration dans une ConfigMap pour qu'elle soit versionnée dans Git et modifiable sans réinstaller le chart.

Prérequis : Un cluster local (kind, minikube ou k3d), kubectl et helm  ·  Durée estimée : 45 min

Prérequis : un cluster Kubernetes local (kind, minikube ou k3d), kubectl et helm.

Installation avec Helm #

Valeurs du chart et configuration River.

  1. 1. Écrire le fichier values.yaml

    Pourquoi ? Un fichier values versionné décrit l'installation complète : c'est la base d'un déploiement reproductible plutôt que de commandes tapées à la main.

    Configurez le chart pour déployer 3 réplicas en statefulset, avec le clustering activé, et une configuration qui découvre les pods ayant l'annotation prometheus.io/scrape: "true".
  2. 2. Installer le chart

    Pourquoi ? Helm applique le chart et crée les ressources (StatefulSet, RBAC, Service) : on vérifie donc que tout est démarré avant d'aller plus loin.

    Ajoutez le dépôt Helm de Grafana et installez la release alloy dans le namespace monitoring.
  3. 3. Contrôler le cluster

    Pourquoi ? Le port-forward donne accès à l'UI sans l'exposer sur Internet ; vérifier les 3 membres confirme que le clustering fonctionne dans Kubernetes.

    Faites un port-forward sur un pod, ouvrez l'UI et vérifiez que le cluster compte 3 membres. Consultez les logs en cas d'erreur de configuration.

Externaliser la configuration #

Séparer le code du chart.

  1. 4. Utiliser une ConfigMap existante

    Pourquoi ? Séparer la configuration du chart permet de la modifier par une simple mise à jour de ConfigMap et de la relire depuis Git, sans toucher aux valeurs d'infrastructure.

    Sortez la configuration River du values.yaml : créez une ConfigMap à partir d'un fichier config.alloy versionné dans Git et demandez au chart de l'utiliser sans en créer une.

Niveau de difficulté : ●●●○○ (3/5)

Mon suivi

  • ⏱ Durée estimée : ≈ 45 min

Connectez-vous pour suivre votre progression et prendre des notes. Se connecter

💬 Discussions récentes de la formation

Poser une question sur cette leçon →Voir toutes les discussions de la formation

Glossaire de la formation

Observabilité

La capacité à connaître l'état interne d'un système à partir des données qu'il émet.Ces données sont classées en 3 piliers : logsmétriquestracesprofil...

Traces distribuées

Technique (issue du pilier des Traces) permettant de suivre le cheminement complet d'une requête à travers de multiples micro-services pour identifier...

Métriques

Mesures numériques collectées à intervalles réguliers (ex: CPU, RAM, temps de réponse) utilisées pour évaluer l'état de santé global d'un système au f...

Profilage en continu (Continuous Profiling)

Analyse constante de l'exécution du code en production pour identifier avec précision quelles lignes de code ou fonctions consomment le plus de ressou...

Access Log

Fichier de journalisation enregistrant les requêtes traitées par un serveur web (Apache, Nginx, Lighttpd, etc.). Il permet de tracer l'activité du ser...

Client IP

L'adresse IP de l'utilisateur effectuant la requête vers le serveur web. Lorsqu'un utilisateur passe par un Load Balancer ou un proxy (ex: Cloudflare)...

Timestamp

La date et l'heure exactes auxquelles la requête a été reçue par le serveur.Configuration : %t dans Apache, $time_local ou $time_iso8601 dans Nginx.

Request

La ligne de requête initiale du client. Elle comprend généralement la méthode HTTP (ex: GET), l'URL demandée et la version du protocole HTTP.Configura...

Status Code

Le code de statut HTTP final renvoyé par le serveur au client (ex : 200 pour un succès, 404 pour ressource non trouvée).Configuration : %>s dans Apach...

Size

Le volume des données renvoyées au client, mesuré en octets (généralement sans les en-têtes HTTP).Configuration : %b ou %O dans Apache, $body_bytes_se...

Referrer

L'URL de la page web depuis laquelle le client a cliqué ou suivi un lien pour accéder à la ressource actuelle.Configuration : %{Referer}i dans Apache,...

User-Agent

Les informations d'identification fournies par le client concernant son navigateur, son système d'exploitation et son appareil. Sa structure standard ...

Response Time

La durée totale prise par le serveur pour traiter la requête et renvoyer la réponse au client.Configuration : %D (microsecondes) ou %T (secondes) dans...

Grafana Alloy

Collecteur de télémétrie open source et flexible, successeur de Grafana Agent. Il est conçu pour collecter, transformer et exporter des logs, métrique...

River

Langage de configuration déclaratif utilisé par Grafana Alloy, inspiré de HCL (Terraform). Il permet de définir des pipelines de télémétrie complexes ...

Grafana Loki

Système de journalisation (logs) multi-tenant, hautement disponible et inspiré de Prometheus. Il est conçu pour être très économe en ressources en n'i...

Articles recommandés

Grafana Alloy : Déploiement Avancé et Clustering

Maîtrisez le déploiement avancé de Grafana Alloy en mode clustering. Comprenez ses avantages pour...

Fleet Management, Kubernetes Monitoring et moteur OpenTelemetry : Alloy à grande échelle

Piloter des centaines d'Alloy avec remotecfg et Fleet Management, déployer le chart Helm k8s-moni...

Déployer et exploiter Pyroscope sur Kubernetes

Installer Pyroscope avec Helm, collecter les profils du cluster avec Alloy (annotations et eBPF),...

Déployer Thanos sur Kubernetes (kube-prometheus-stack, Helm et Operator)

Installer Thanos sur Kubernetes : sidecar via kube-prometheus-stack, secret objstore, Bitnami/kub...

Installer Grafana Loki (Docker Compose, binaire et Helm)

Installer et valider Grafana Loki : configuration minimale, Docker Compose avec Grafana et Alloy,...

Configuration de Grafana Alloy : syntaxe, ports et premiers composants

Dans le cadre d'une formation Grafana ou formation observabilité, maîtrisez la syntaxe déclarativ...

OpenTelemetry sur Kubernetes : Operator, auto-instrumentation et Collector

Déployer OpenTelemetry sur Kubernetes : modes de déploiement du Collector (DaemonSet, Deployment,...

Alloy et l'écosystème Grafana Labs : quel composant pour quel outil ?

La carte des intégrations d'Alloy avec Faro, Beyla, k6, Loki, Mimir, Tempo, Pyroscope, Database O...

Grafana Alloy : Guide complet pour collecter métriques, logs et traces

Tutoriel complet sur Grafana Alloy. Découvrez comment installer, configurer et utiliser ce collec...

Soutenir

♥ SOUTENIR

Soutenez RousselTM Learning

Les formations, articles, TP et attestations restent gratuits et sans publicité intrusive. Une contribution libre, du montant de votre choix, finance l’hébergement, les environnements de TP et l’écriture de nouveaux contenus.

Contribuer avec PayPal Montant libre · carte bancaire ou compte PayPalEn savoir plus
QR code PayPal
Ou scannez ce QR code avec votre téléphone

Merci, chaque contribution compte !