Install on Kubernetes with Helm Chart

This guide describes how to deploy Dragonfly on a Kubernetes cluster using Helm (See Install Helm).

Prerequisites

  • A Kubernetes cluster (see Kind or Minikube if you want to experiment locally).
  • Select the Dragonfly version:
    • For the latest version, set: VERSION=v1.7.1
    • Choose a version from here

Install a standalone master

Run this command:

helm upgrade --install dragonfly oci://ghcr.io/dragonflydb/dragonfly/helm/dragonfly --version $VERSION

Install a standalone master with snapshot taken every minute

  1. Add the following to the myvals.yaml values file (create a new file if it doesn’t exist):

    1. storage:
    2. enabled: true
    3. requests: 128Mi # Set as desired
    4. extraArgs:
    5. - --dbfilename=dump.rdb
    6. - --save_schedule=*:* # HH:MM glob format
    7. podSecurityContext:
    8. fsGroup: 2000
    9. securityContext:
    10. capabilities:
    11. drop:
    12. - ALL
    13. readOnlyRootFilesystem: true
    14. runAsNonRoot: true
    15. runAsUser: 1000
  2. Run this command: helm upgrade -f myvals.yaml --install dragonfly oci://ghcr.io/dragonflydb/dragonfly/helm/dragonfly --version $VERSION

Integrate with Kube-Prometheus Monitoring

If you have Kube-Prometheus installed in your cluster, you set it to monitor your Dragonfly deployment by enabling the serviceMonitor and prometheusRule in your values file. For example:

  1. serviceMonitor:
  2. enabled: true
  3. prometheusRule:
  4. enabled: true
  5. spec:
  6. - alert: DragonflyMissing
  7. expr: absent(dragonfly_uptime_in_seconds) == 1
  8. for: 0m
  9. labels:
  10. severity: critical
  11. annotations:
  12. summary: Dragonfly is missing
  13. description: "Dragonfly is missing"

More Customization

For more customization please see the Dragonfly Chart