-## influxdb image version
-## ref: https://hub.docker.com/r/library/influxdb/tags/
image:
- repository: "influxdb"
- tag: "1.8.0-alpine"
+ repository: influxdb
+ tag: 2.2.0-alpine
pullPolicy: IfNotPresent
- ## If specified, use these secrets to access the images
- # pullSecrets:
- # - registry-secret
+## Annotations to be added to InfluxDB pods
+##
+podAnnotations: {}
-serviceAccount:
- create: true
- name:
- annotations: {}
+## Labels to be added to InfluxDB pods
+##
+podLabels: {}
+
+nameOverride: ""
+fullnameOverride: ""
+
+## Configure resource requests and limits
+## ref: http://kubernetes.io/docs/user-guide/compute-resources/
+##
+resources: {}
+ # We usually recommend not to specify default resources and to leave this as a conscious
+ # choice for the user. This also increases chances charts run on environments with little
+ # resources, such as Minikube. If you do want to specify resources, uncomment the following
+ # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
+ # limits:
+ # cpu: 100m
+ # memory: 128Mi
+ # requests:
+ # cpu: 100m
+ # memory: 128Mi
+
+## Node labels for pod assignment
+## ref: https://kubernetes.io/docs/user-guide/node-selection/
+##
+nodeSelector: {}
+
+## Tolerations for pod assignment
+## Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
+##
+tolerations: []
+
+## Affinity for pod assignment
+## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
+##
+affinity: {}
+
+securityContext: {}
## Customize liveness, readiness and startup probes
-## ref: https://docs.influxdata.com/influxdb/v1.7/tools/api/#ping-http-endpoint
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
##
livenessProbe: {}
- # path: "/ping"
- # initialDelaySeconds: 30
- # timeoutSeconds: 5
- # scheme: HTTP
+ # path: "/health"
+ # scheme: "HTTP"
+ # initialDelaySeconds: 0
+ # periodSeconds: 10
+ # timeoutSeconds: 1
+ # failureThreshold: 3
readinessProbe: {}
- # path: "/ping"
- # initialDelaySeconds: 5
+ # path: "/health"
+ # scheme: "HTTP"
+ # initialDelaySeconds: 0
+ # periodSeconds: 10
# timeoutSeconds: 1
- # scheme: HTTP
-
-securityContext: {}
- # runAsUser: 999
- # runAsGroup: 999
+ # successThreshold: 1
+ # failureThreshold: 3
startupProbe:
enabled: false
- # path: "/ping"
- # failureThreshold: 6
+ # path: "/health"
+ # scheme: "HTTP"
+ # initialDelaySeconds: 30
# periodSeconds: 5
- # scheme: HTTP
+ # timeoutSeconds: 1
+ # failureThreshold: 6
-## Specify a service type
-## NodePort is default
-## ref: http://kubernetes.io/docs/user-guide/services/
+## Extra environment variables to configure influxdb
+## e.g.
+# env:
+# - name: FOO
+# value: BAR
+# - name: BAZ
+# valueFrom:
+# secretKeyRef:
+# name: my-secret
+# key: my-key
+env: {}
+
+## Create default user through docker entrypoint
+## Defaults indicated below
##
-service:
- ## Add annotations to service
- # annotations: {}
- type: ClusterIP
- # externalIPs: []
- # externalTrafficPolicy: ""
+adminUser:
+ organization: "influxdata"
+ bucket: "default"
+ user: "admin"
+ retention_policy: "0s"
+ ## Leave empty to generate a random password and token.
+ ## Or fill any of these values to use fixed values.
+ password: ""
+ token: ""
+
+ ## The password and token are obtained from an existing secret. The expected
+ ## keys are `admin-password` and `admin-token`.
+ ## If set, the password and token values above are ignored.
+ # existingSecret: influxdb-auth
## Persist data to a persistent volume
##
persistence:
enabled: true
- ## A manually managed Persistent Volume and Claim
- ## Requires persistence.enabled: true
- ## If defined, PVC must be created manually before volume will be bound
- # existingClaim:
+ ## If true will use an existing PVC instead of creating one
+ # useExisting: false
+ ## Name of existing PVC to be used in the influx deployment
+ # name:
## influxdb data Persistent Volume Storage Class
## If defined, storageClassName: <storageClass>
## If set to "-", storageClassName: "", which disables dynamic provisioning
## GKE, AWS & OpenStack)
##
# storageClass: "-"
- annotations:
accessMode: ReadWriteOnce
- size: 8Gi
-
-## Deploy InfluxDB Enterprise - License required
-## ref: https://www.influxdata.com/products/influxdb-enterprise/
-enterprise:
- enabled: false
- licensekey: {}
- clusterSize: 4
- meta:
- image:
- ## This image contains the enterprise meta node package for clustering.
- ## It is meant to be used in conjunction with the influxdb:data package of the same version.
- ## ref: https://hub.docker.com/_/influxdb
- tag: meta
- clusterSize: 3
- ## seed is hashed and used as `internal-shared-secret` for Meta service.
- seed: dead-beef-cafe-bae
- ## Configure resource requests and limits
- ## ref: http://kubernetes.io/docs/user-guide/compute-resources/
- resources: {}
- # resources:
- # requests:
- # memory: 512Mi
- # cpu: 2
- # limits:
- # memory: 1Gi
- # cpu: 4
+ size: 50Gi
+ mountPath: /var/lib/influxdb2
+ subPath: ""
-## Create default user through Kubernetes job
-## Defaults indicated below
+## Add custom volume and volumeMounts
##
-setDefaultUser:
- enabled: false
-
- ## Image of the container used for job
- ## Default: appropriate/curl:latest
- ##
- image: appropriate/curl:latest
-
- ## Deadline for job so it does not retry forever.
- ## Default: activeDeadline: 300
- ##
- activeDeadline: 300
-
- ## Specify the number of retries before considering job as failed.
- ## https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/#pod-backoff-failure-policy
- ##
- backoffLimit: 6
-
- ## Hook delete policy for helm.
- ## Default: hookDeletePolicy: hook-succeeded
- ##
- hookDeletePolicy: hook-succeeded
-
- ## Restart policy for job
- ## Default: OnFailure
- restartPolicy: OnFailure
-
- user:
-
- ## The user name
- ## Default: "admin"
- username: "admin"
-
- ## User password
- ## single quotes must be escaped (\')
- ## Default: (Randomly generated 10 characters of AlphaNum)
- # password:
-
- ## The user name and password are obtained from an existing secret. The expected
- ## keys are `influxdb-user` and `influxdb-password`.
- ## If set, the username and password values above are ignored.
- # existingSecret: influxdb-auth
-
- ## User privileges
- ## Default: "WITH ALL PRIVILEGES"
- privileges: "WITH ALL PRIVILEGES"
+# volumes:
+# - name: influxdb2-templates
+# hostPath:
+# path: /data/influxdb2-templates
+# type: Directory
+# mountPoints:
+# - name: influxdb2-templates
+# mountPath: /influxdb2-templates
+# readOnly: true
-## Configure resource requests and limits
-## ref: http://kubernetes.io/docs/user-guide/compute-resources/
-resources: {}
-# requests:
-# memory: 256Mi
-# cpu: 0.1
-# limits:
-# memory: 16Gi
-# cpu: 8
+## Allow executing custom init scripts
+## If the container finds any files with the .sh extension inside of the
+## /docker-entrypoint-initdb.d folder, it will execute them.
+## When multiple scripts are present, they will be executed in lexical sort order by name.
+## For more details see Custom Initialization Scripts in https://hub.docker.com/_/influxdb
+initScripts:
+ enabled: false
+ scripts:
+ init.sh: |+
+ #!/bin/bash
+ influx apply --force yes -u https://raw.githubusercontent.com/influxdata/community-templates/master/influxdb2_operational_monitoring/influxdb2_operational_monitoring.yml
-# Annotations to be added to InfluxDB pods
-podAnnotations: {}
+## Specify a service type
+## ref: http://kubernetes.io/docs/user-guide/services/
+##
+service:
+ type: ClusterIP
+ port: 80
+ targetPort: 8086
+ annotations: {}
+ labels: {}
+ portName: http
-# Labels to be added to InfluxDB pods
-podLabels: {}
+serviceAccount:
+ # Specifies whether a ServiceAccount should be created
+ create: true
+ # The name of the ServiceAccount to use.
+ # If not set and create is true, a name is generated using the fullname template
+ name:
+ # Annotations for the ServiceAccount
+ annotations: {}
ingress:
enabled: false
+ # For Kubernetes >= 1.18 you should specify the ingress-controller via the field ingressClassName
+ # See https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#specifying-the-class-of-an-ingress
+ # className: nginx
tls: false
- # secretName: my-tls-cert # only needed if tls above is true
+ # secretName: my-tls-cert # only needed if tls above is true or default certificate is not configured for Nginx
hostname: influxdb.foobar.com
- className: null
annotations: {}
# kubernetes.io/ingress.class: "nginx"
# kubernetes.io/tls-acme: "true"
path: /
-
-## Add custom volume and volumeMounts
-# volumes:
-# - name: ssl-cert-volume
-# secret:
-# secretName: secret-name
-# mountPoints:
-# - name: ssl-cert-volume
-# mountPath: /etc/ssl/certs/selfsigned/
-# readOnly: true
-
-## Additional containers to be added to the pod.
-extraContainers: {}
-# - name: my-sidecar
-# image: nginx:latest
-
-## Use an alternate scheduler, e.g. "stork".
-## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
-##
-# schedulerName:
-
-## Node labels for pod assignment
-## Ref: https://kubernetes.io/docs/user-guide/node-selection/
-##
-nodeSelector: {}
-
-## Affinity for pod assignment
-## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
-##
-affinity: {}
-
-## Tolerations for pod assignment
-## Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
+## Pod disruption budget configuration
##
-tolerations: []
-# - key: "key"
-# operator: "Equal|Exists"
-# value: "value"
-# effect: "NoSchedule|PreferNoSchedule|NoExecute(1.6 only)"
-
-## The InfluxDB image uses several environment variables to automatically
-## configure certain parts of the server.
-## Ref: https://hub.docker.com/_/influxdb/
-env: {}
- # - name: INFLUXDB_DB
- # value: "demo"
-
-## The name of a secret in the same kubernetes namespace which contain values
-## to be added to the environment.
-## This can be used, for example, to set the INFLUXDB_HTTP_SHARED_SECRET
-## environment variable.
-envFromSecret: {}
-
-## InfluxDB configuration
-## ref: https://docs.influxdata.com/influxdb/v1.7/administration/config
-config:
- reporting_disabled: false
- rpc: {}
- meta: {}
- data: {}
- coordinator: {}
- retention: {}
- shard_precreation: {}
- monitor: {}
- http: {}
- logging: {}
- subscriber: {}
- graphite: {}
- collectd: {}
- opentsdb: {}
- udp: {}
- continuous_queries: {}
- tls: {}
-
-# Allow executing custom init scripts
-#
-# If the container finds any files with the extensions .sh or .iql inside of the
-# /docker-entrypoint-initdb.d folder, it will execute them. The order they are
-# executed in is determined by the shell. This is usually alphabetical order.
-initScripts:
- enabled: false
- scripts:
- init.iql: |+
- CREATE DATABASE "telegraf" WITH DURATION 30d REPLICATION 1 NAME "rp_30d"
-
-backup:
- enabled: false
- ## By default emptyDir is used as a transitory volume before uploading to object store.
- ## As such, ensure that a sufficient ephemeral storage request is set to prevent node disk filling completely.
- resources:
- requests:
- # memory: 512Mi
- # cpu: 2
- ephemeral-storage: "8Gi"
- # limits:
- # memory: 1Gi
- # cpu: 4
- # ephemeral-storage: "16Gi"
- ## If backup destination is PVC, or want to use intermediate PVC before uploading to object store.
- persistence:
- enabled: false
- ## If defined, storageClassName: <storageClass>
- ## If set to "-", storageClassName: "", which disables dynamic provisioning
- ## If undefined (the default) or set to null, no storageClassName spec is
- ## set, choosing the default provisioner. (gp2 on AWS, standard on
- ## GKE, AWS & OpenStack)
- ##
- # storageClass: "-"
- annotations:
- accessMode: ReadWriteOnce
- size: 8Gi
- schedule: "0 0 * * *"
- startingDeadlineSeconds: ""
- annotations: {}
- podAnnotations: {}
-
- ## Google Cloud Storage
- # gcs:
- # serviceAccountSecret: influxdb-backup-key
- # serviceAccountSecretKey: key.json
- # destination: gs://bucket/influxdb
-
- ## Azure
- ## Secret is expected to have connection string stored in `connection-string` field
- ## Existing container will be used or private one withing storage account will be created.
- # azure:
- # storageAccountSecret: influxdb-backup-azure-key
- # destination_container: influxdb-container
- # destination_path: ""
-
- ## Amazon S3 or compatible
- ## Secret is expected to have AWS (or compatible) credentials stored in `credentials` field.
- ## Please look at https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html#cli-configure-files-where
- ## for the credentials format.
- ## The bucket should already exist.
- # s3:
- # credentialsSecret: aws-credentials-secret
- # destination: s3://bucket/path
- # ## Optional. Specify if you're using an alternate S3 endpoint.
- # # endpointUrl: ""
-
-backupRetention:
- enabled: false
- resources:
- requests:
- # memory: 512Mi
- # cpu: 2
- # limits:
- # memory: 1Gi
- # cpu: 4
- schedule: "0 0 * * *"
- startingDeadlineSeconds:
- annotations: {}
- podAnnotations: {}
- daysToRetain: 7
- # s3:
- # credentialsSecret: aws-credentials-secret
- # bucketName: bucket
- # ## Optional. Specify if you're using an alternate S3 endpoint.
- # # endpointUrl: ""
+pdb:
+ ## Specifies whether a Pod disruption budget should be created
+ ##
+ create: true
+ minAvailable: 1
+ # maxUnavailable: 1