README.md 3.63 KB
Newer Older
1 2
# InfluxDB Enterprise

3
## Quick Start
4 5 6 7 8 9 10 11 12 13

```bash
helm repo add influxdata https://helm.influxdata.com/
helm upgrade --install influxdb influxdata/influxdb-enterprise --namespace monitoring
```

> **Tip**: `helm upgrade --install [RELEASE] [CHART] [FLAGS]` can be shortened : `helm upgrade -i [RELEASE] [CHART] [FLAGS]`

## Introduction

14
This chart bootstraps an InfluxDB Enterprise cluster, with a StatefulSet for both the meta and data nodes.
15 16 17 18 19 20 21 22

## Prerequisites

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

### Secrets

23 24 25 26 27 28 29 30 31
This chart requires the following secrets in order to function:

- License
- Shared Secret

Optionally, you can also provide secrets to enable:

- Authentication
- TLS
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51

#### License

InfluxDB Enterprise requires a license. To provide the license, you can either store it in a secret or provide a string within your `values.yaml`. We recommend using a secret.

```yaml
license:
  # You can put your license key here for testing this chart out,
  # but we STRONGLY recommend using a license file stored in a secret
  # when you ship to production.
  # key: "your license key"
  secret:
    name: license
    key: json
```

#### Shared Secret

The meta cluster requires a shared internal secret to secure communication. This must be provided by specifying a secret name in the `values.yaml` file.

52 53 54
The Kubernetes Secret MUST contain a key called `secret` that is a randomly generated string.

Please see [example resources](./example-resources.yaml) to see what this looks like.
55 56 57 58 59 60 61 62 63 64 65

```yaml
meta:
  sharedSecret:
    secretName: shared-secret
```

#### Authentication (Optional)

If you want to configure authentication for your data nodes, you must provide the following within your `values.yaml`:

66 67
Please see [example resources](./example-resources.yaml) to see what this looks like.

68 69
```yaml
# A secret with keys "username" and "password" is required
70 71 72 73 74
bootstrap:
  auth:
    secretName: auth
```

75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98
#### TLS (Optional)

If you want to configure TLS for your meta and/or data nodes, you must enable TLS inside the `values.yaml`. An example is below, but you'll need to replicate for the data nodes too:

```yaml
meta:
  https:
    enabled: true
```

If you want to use CertManager to provision the TLS certificates, you can add:

```yaml
meta:
  https:
    useCertManager: true
    insecure: true # This chart uses an untrusted CA, so we need to mark the keys as insecure
```

Otherwise, you need to provide a secret with the keys `tls.crt` and `tls.key`. An example exists inside the [example resources](./example-resources.yaml).

```yaml
meta:
  https:
99 100
    secret:
      name: my-tls-secret
101 102 103
    insecure: true # Only enable if your CA isn't trusted
```

104 105 106 107 108 109 110 111 112 113 114
#### DDL/DML (Optional)

If you wish to create databases or import data after installation, we've provided this DDL/DML hook. Your config map must contain the keys `ddl` and `dml`.

Please see [example resources](./example-resources.yaml) to see what this looks like.

```yaml
# A ConfigMap with keys "ddl" and "dml" is required
bootstrap:
  ddldml:
    configMap: ddl-dml
115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137
```

## Installing the Chart

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

```bash
helm upgrade --install my-release influxdata/influxdb-enterprise
```

The command deploys InfluxDB Enterprise on the Kubernetes cluster in the default configuration. The [configuration](#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:

```bash
helm uninstall my-release
```

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