Déploiement rapide de VictoriaMetrics#
Warning
VictoriaMetrics ne fait pas partie de l'écosystème Caascad. Cette doc n'a de vocation qu'à décrire comment le déployer rapidement pour effectuer des tests.
Configuration#
cat <<EOF > victoriametrics-values.yaml
server:
persistentVolume:
enabled: false
EOF
Si l'on souhaite utiliser un PV/PVC, on utilise ces valeurs :
cat <<EOF > victoriametrics-values.yaml
server:
persistentVolume:
enabled: true
storageClass: "caascad-storage-standard"
size: 10Gi
EOF
Si on souhaite utiliser un ingress, on utilise ces valeurs:
server:
[...]
ingress:
enabled: true
annotations:
cert-manager.io/cluster-issuer: zerossl
kubernetes.io/ingress.class: ingress-nginx-public
hosts:
- name: <fqdn> # exemple: pf-xxx-victoriametrics.ocb-test06.caascad.com
path: /
tls:
- secretName: vmselect-ingress-tls
hosts:
- <fqdn> # le même que ci-dessus
pathType: Prefix
Déploiement#
helm repo add vm https://victoriametrics.github.io/helm-charts/
helm repo update
NAMESPACE=avirer # or any better name
kubectl create ns "${NAMESPACE}"
helm upgrade --install --atomic vmsingle vm/victoria-metrics-single -f victoriametrics-values.yaml -n "${NAMESPACE}"
Cette commande va installer et lancer VictoriaMetrics. Faites attention au message affiché à la fin de cette commande. Elle indique entre autres :
- comment obtenir l'URL de service
- où envoyer les métriques en remote-write
- quelle URL fournir à Grafana
Le port par défaut est le port 8428.
Utilisation#
Warning
Si on n'utilise pas de PV/PVC dédié, penser à désinstaller VictoriaMetrics avant que l'Emptydir ne se remplisse. Cet espace est limité et il est partagé par tous les pods d'un même noeud.
Lors de tests, on va généralement se limiter à un port-forward (port 8428) puis aller sur la GUI http://localhost:8428.
Cette GUI permet en particulier d'effectuer des requêtes en PromQL comme sur Prometheus ou sur l'onglet Explore de Grafana.
Note
Si on utilise un ingress, la résolution DNS peut être longue (plusieurs dizaines de minutes).
Ménage#
helm delete vmsingle -n "${NAMESPACE}"
kubectl -n "${NAMESPACE}" delete pvc server-volume-vmsingle-victoria-metrics-single-server-0
kubectl -n "${NAMESPACE}" get pvc
kubectl delete ns "${NAMESPACE}"