openstack-helm-addons/influxdb/README.md

3.9 KiB

InfluxDB

An Open-Source Time Series Database

InfluxDB is an open source time series database built by the folks over at InfluxData with no external dependencies. It's useful for recording metrics, events, and performing analytics.

QuickStart

$ helm install stable/influxdb --name foo --namespace bar

Introduction

This chart bootstraps an InfluxDB deployment and service on a Kubernetes cluster using the Helm Package manager.

Prerequisites

  • Kubernetes 1.4+
  • PV provisioner support in the underlying infrastructure (optional)

Installing the Chart

To install the chart with the release name my-release:

$ helm install --name my-release stable/influxdb

The command deploys InfluxDB on the Kubernetes cluster in the default configuration. The configuration section lists the parameters that can be configured during installation.

Tip: List all releases using helm list

Uninstalling the Chart

To uninstall/delete the my-release deployment:

$ helm delete my-release --purge

The command removes all the Kubernetes components associated with the chart and deletes the release.

Configuration

The default configuration values for this chart are listed in values.yaml.

The full image documentation contains more information about running InfluxDB in docker.

Specify each parameter using the --set key=value[,key=value] argument to helm install. For example,

$ helm install --name my-release \
  --set persistence.enabled=true,persistence.size=200Gi \
    stable/influxdb

The above command enables persistence and changes the size of the requested data volume to 200GB.

Alternatively, a YAML file that specifies the values for the parameters can be provided while installing the chart. For example,

$ helm install --name my-release -f values.yaml stable/influxdb

Tip: You can use the default values.yaml

InfluxDB Watcher Configuration

Parameter Description Default
watcher.enabled InfluxDB watcher enabled flag false
watcher.image.repository InfluxDB watcher container image repository monasca/influxdb-watcher
watcher.image.tag InfluxDB watcher container image tag latest
watcher.image.pullPolicy InfluxDB watcher container image pull policy IfNotPresent
watcher.address InfluxDB service address http://localhost:8086
watcher.username InfluxDB username with read/write privileges influxdb_watcher
watcher.password InfluxDB password password
watcher.database InfluxDB database mon
watcher.watcher_period InfluxDB watcher period 600
watcher.watcher_timeout InfluxDB watcher read/write timeout 60
watcher.stay_alive_on_failure If true, watcher container stays alive for 2 hours after watcher exits false
watcher.port InfluxDB watcher port to expose Promethues metrics on 8080

Persistence

The InfluxDB image stores data in the /var/lib/influxdb directory in the container.

The chart mounts a Persistent Volume volume at this location. The volume is created using dynamic volume provisioning.

Starting with authentication

In values.yaml change .Values.config.http.auth_enabled to true.

Influxdb requires also a user to be set in order for authentication to be enforced. See more details here.

To handle this setup on startup, a job can be enabled in values.yaml by setting .Values.setDefaultUser.enabled to true.

Make sure to uncomment or configure the job settings after enabling it. If a password is not set, a random password will be generated.