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 |