Aller au contenu

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}"