Aller au contenu

Treafik

Introduction

Maintenant que Prométheus est installé, nous pouvons activer les métriques Traefik

Fichier de config

cat << EOF > /tmp/traefik-metrics.yaml
apiVersion: helm.cattle.io/v1
kind: HelmChartConfig
metadata:
  name: traefik
  namespace: kube-system
spec:
  valuesContent: |-
    providers:
      kubernetesGateway:
        enabled: true

    kubernetesIngress:
      enabled: false

    metrics:
      prometheus:
        enabled: true
        entryPoint: metrics
        # Activer la création du ServiceMonitor pour Prometheus Operator
        serviceMonitor:
          enabled: true
          namespace: kube-prometheus # Ou 'kube-prometheus' selon où tourne votre opérateur
          # Optionnel : si votre Prometheus cible des labels spécifiques
          # additionalLabels:
          #   release: kube-prometheus-stack

    ports:
      web:
        port: 8000
        exposedPort: 80
        expose:
          default: true

      websecure:
        port: 8443
        exposedPort: 443
        expose:
          default: true

      metrics:
        port: 9102
        # Permet d'exposer le port de métriques sur le Service interne de Traefik
        expose:
          default: true
        exposedPort: 9102

    service:
      type: LoadBalancer
EOF

Installation

kubectl apply -f /tmp/traefik-metrics.yaml

Résultat

helmchartconfig.helm.cattle.io/traefik created

Patientez une ou deux minutes avant de faire la vérification

Vérification

curl -kg 'https://prometheus-k3s.gmolab.net/api/v1/query?query=traefik_open_connections' | jq

Le résultat attendu doit ressembler à ceci

{
  "status": "success",
  "data": {
    "resultType": "vector",
    "result": [
      {
        "metric": {
          "__name__": "traefik_open_connections",
          "container": "traefik",
          "endpoint": "metrics",
          "entrypoint": "metrics",
          "instance": "10.42.0.83:9102",
...
 },

        "metric": {
          "__name__": "traefik_open_connections",
          "container": "traefik",
          "endpoint": "metrics",
          "entrypoint": "websecure",
          "instance": "10.42.0.83:9102",
          "job": "traefik",
          "namespace": "kube-system",
          "pod": "traefik-55ff879ff9-lhrqj",
          "protocol": "TCP",
          "service": "traefik"
        },
        "value": [
          1789824609.870,
          "2"
        ]
      }
    ]
  }
}

Nettoyage

cd
rm -rf /tmp/traefik-metrics.yaml

Version Date Change Auteur
1.0 19.09.2026 Création GMo