RousselTMLEARNING

Observabilité

Elastic Agent sur Kubernetes

Déployer Elastic Agent sur Kubernetes : DaemonSet géré par Fleet, intégration Kubernetes, kube-state-metrics, logs des conteneurs, autodiscovery par annotations, et déploiement avec ECK.

1. Architecture #

Un agent par nœud.

Le DaemonSet #

Agents en DaemonSet, kube-state-metrics, API Kubernetes et Elasticsearch.

Elastic Agent tourne en DaemonSet : un pod par nœud lit les logs des conteneurs (/var/log/containers) et les métriques du kubelet. L'intégration Kubernetes interroge aussi kube-state-metrics pour l'état des objets (déploiements, pods en échec, redémarrages).

2. Déployer #

Manifeste Fleet ou ECK.

Manifeste géré par Fleet #

helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm install kube-state-metrics prometheus-community/kube-state-metrics -n kube-system
# Kibana › Fleet › Add agent › Kubernetes : télécharger le manifeste prérempli (FLEET_URL, FLEET_ENROLLMENT_TOKEN)
kubectl apply -f elastic-agent-managed-kubernetes.yml
kubectl -n kube-system get pods -l app.kubernetes.io/name=elastic-agent
À savoir : Le manifeste crée le compte de service, les rôles RBAC en lecture et le DaemonSet ; il monte les répertoires de logs de l'hôte en lecture seule.

Avec ECK #

apiVersion: agent.k8s.elastic.co/v1alpha1
kind: Agent
metadata:
  name: elastic-agent
spec:
  version: 9.x.y
  kibanaRef: { name: kibana }
  fleetServerRef: { name: fleet-server }
  mode: fleet
  policyID: eck-agent
  daemonSet:
    podTemplate:
      spec:
        serviceAccountName: elastic-agent
        automountServiceAccountToken: true

3. Autodiscovery #

Configurer par annotations.

Annotations et hints #

Avec les hints, l'agent lit des annotations sur les pods pour activer automatiquement une intégration (ex. Redis) ou un parseur multiligne pour un conteneur précis, sans modifier la politique.

metadata:
  annotations:
    co.elastic.hints/package: redis
    co.elastic.hints/host: '${kubernetes.pod.ip}:6379'
    co.elastic.hints/period: 30s
Bonne pratique : Fixez des limites mémoire et CPU au DaemonSet et surveillez ses redémarrages : un agent tué par manque de mémoire perd la continuité de la collecte.

Articles liés

Elastic Agent : architecture, Fleet et intégrations

Comprendre Elastic Agent : agent unique de collecte, Fleet et Fleet Server, politiques d'agent, intégrations,…

Elastic Agent ou Beats ? Choisir et migrer

Comparer Elastic Agent et les Beats (Filebeat, Metricbeat, Winlogbeat), savoir quand garder les Beats et migr…

Installer Fleet Server et enrôler des Elastic Agent

Mettre en place Fleet Server, créer une politique, enrôler des agents Linux, Windows et Docker, comprendre le…

Pour aller plus loin

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 !