1008 lines
31 KiB
YAML
1008 lines
31 KiB
YAML
## Global Docker image parameters
|
|
## Please, note that this will override the image parameters, including dependencies, configured to use the global value
|
|
## Current available global Docker image parameters: imageRegistry and imagePullSecrets
|
|
##
|
|
global:
|
|
# imageRegistry: myRegistryName
|
|
# imagePullSecrets:
|
|
# - myRegistryKeySecretName
|
|
# storageClass: myStorageClass
|
|
redis: {}
|
|
|
|
## Bitnami Redis(TM) image version
|
|
## ref: https://hub.docker.com/r/bitnami/redis/tags/
|
|
##
|
|
image:
|
|
registry: docker.io
|
|
repository: bitnami/redis
|
|
## Bitnami Redis(TM) image tag
|
|
## ref: https://github.com/bitnami/bitnami-docker-redis#supported-tags-and-respective-dockerfile-links
|
|
##
|
|
tag: 6.0.12-debian-10-r33
|
|
## Specify a imagePullPolicy
|
|
## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
|
|
## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images
|
|
##
|
|
pullPolicy: IfNotPresent
|
|
## Optionally specify an array of imagePullSecrets.
|
|
## Secrets must be manually created in the namespace.
|
|
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
|
|
##
|
|
# pullSecrets:
|
|
# - myRegistryKeySecretName
|
|
|
|
## String to partially override redis.fullname template (will maintain the release name)
|
|
##
|
|
# nameOverride:
|
|
|
|
## String to fully override redis.fullname template
|
|
##
|
|
# fullnameOverride:
|
|
|
|
## Cluster settings
|
|
##
|
|
cluster:
|
|
enabled: true
|
|
slaveCount: 2
|
|
|
|
## Use redis sentinel in the redis pod. This will disable the master and slave services and
|
|
## create one redis service with ports to the sentinel and the redis instances
|
|
##
|
|
sentinel:
|
|
enabled: false
|
|
## Require password authentication on the sentinel itself
|
|
## ref: https://redis.io/topics/sentinel
|
|
##
|
|
usePassword: true
|
|
## Bitnami Redis(TM) Sentintel image version
|
|
## ref: https://hub.docker.com/r/bitnami/redis-sentinel/tags/
|
|
##
|
|
image:
|
|
registry: docker.io
|
|
repository: bitnami/redis-sentinel
|
|
## Bitnami Redis(TM) image tag
|
|
## ref: https://github.com/bitnami/bitnami-docker-redis-sentinel#supported-tags-and-respective-dockerfile-links
|
|
##
|
|
tag: 6.0.12-debian-10-r24
|
|
## Specify a imagePullPolicy
|
|
## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
|
|
## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images
|
|
##
|
|
pullPolicy: IfNotPresent
|
|
## Optionally specify an array of imagePullSecrets.
|
|
## Secrets must be manually created in the namespace.
|
|
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
|
|
##
|
|
# pullSecrets:
|
|
# - myRegistryKeySecretName
|
|
masterSet: mymaster
|
|
initialCheckTimeout: 5
|
|
quorum: 2
|
|
downAfterMilliseconds: 20000
|
|
failoverTimeout: 18000
|
|
parallelSyncs: 1
|
|
port: 26379
|
|
|
|
## Delay seconds when cleaning nodes IPs
|
|
## When starting it will clean the sentinels IP (RESET "*") in all the nodes
|
|
## This is the delay time before sending the command to the next node
|
|
##
|
|
cleanDelaySeconds: 5
|
|
|
|
## Additional Redis(TM) configuration for the sentinel nodes
|
|
## ref: https://redis.io/topics/config
|
|
##
|
|
configmap:
|
|
## Enable or disable static sentinel IDs for each replicas
|
|
## If disabled each sentinel will generate a random id at startup
|
|
## If enabled, each replicas will have a constant ID on each start-up
|
|
##
|
|
staticID: false
|
|
## Configure extra options for Redis(TM) Sentinel liveness and readiness probes
|
|
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes)
|
|
##
|
|
livenessProbe:
|
|
enabled: true
|
|
initialDelaySeconds: 5
|
|
periodSeconds: 5
|
|
timeoutSeconds: 5
|
|
successThreshold: 1
|
|
failureThreshold: 5
|
|
readinessProbe:
|
|
enabled: true
|
|
initialDelaySeconds: 5
|
|
periodSeconds: 5
|
|
timeoutSeconds: 1
|
|
successThreshold: 1
|
|
failureThreshold: 5
|
|
customLivenessProbe: {}
|
|
customReadinessProbe: {}
|
|
## Redis(TM) Sentinel resource requests and limits
|
|
## ref: http://kubernetes.io/docs/user-guide/compute-resources/
|
|
# resources:
|
|
# requests:
|
|
# memory: 256Mi
|
|
# cpu: 100m
|
|
## Redis(TM) Sentinel Service properties
|
|
##
|
|
service:
|
|
## Redis(TM) Sentinel Service type
|
|
##
|
|
type: ClusterIP
|
|
sentinelPort: 26379
|
|
redisPort: 6379
|
|
|
|
## External traffic policy (when service type is LoadBalancer)
|
|
## ref: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
|
|
##
|
|
externalTrafficPolicy: Cluster
|
|
|
|
## Specify the nodePort value for the LoadBalancer and NodePort service types.
|
|
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
|
|
##
|
|
# sentinelNodePort:
|
|
# redisNodePort:
|
|
|
|
## Provide any additional annotations which may be required. This can be used to
|
|
## set the LoadBalancer service type to internal only.
|
|
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer
|
|
##
|
|
annotations: {}
|
|
labels: {}
|
|
loadBalancerIP:
|
|
|
|
## Additional commands to run prior to starting Redis(TM) node with sentinel
|
|
##
|
|
preExecCmds: ""
|
|
|
|
## An array to add extra env var to the sentinel node configurations
|
|
## For example:
|
|
## extraEnvVars:
|
|
## - name: name
|
|
## value: value
|
|
## - name: other_name
|
|
## valueFrom:
|
|
## fieldRef:
|
|
## fieldPath: fieldPath
|
|
##
|
|
extraEnvVars: []
|
|
|
|
## ConfigMap with extra env vars:
|
|
##
|
|
extraEnvVarsCM: []
|
|
|
|
## Secret with extra env vars:
|
|
##
|
|
extraEnvVarsSecret: []
|
|
|
|
## Prometheus Exporter / Metrics for Redis Sentinel Exporter
|
|
##
|
|
metrics:
|
|
enabled: false
|
|
|
|
## Bitnami Redis Sentinel Exporter image
|
|
## ref: https://hub.docker.com/r/bitnami/redis-sentinel-exporter/tags/
|
|
##
|
|
image:
|
|
registry: docker.io
|
|
repository: bitnami/redis-sentinel-exporter
|
|
tag: 1.7.1-debian-10-r105
|
|
pullPolicy: IfNotPresent
|
|
## Optionally specify an array of imagePullSecrets.
|
|
## Secrets must be manually created in the namespace.
|
|
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
|
|
##
|
|
# pullSecrets:
|
|
# - myRegistryKeySecretName
|
|
|
|
## Sentinel metrics exporter 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:'.
|
|
## e.g:
|
|
## limits:
|
|
## cpu: 500m
|
|
## memory: 1Gi
|
|
##
|
|
limits: {}
|
|
requests: {}
|
|
|
|
## Extra arguments for Sentinel metrics exporter, for example:
|
|
## extraArgs:
|
|
## check-keys: myKey,myOtherKey
|
|
# extraArgs: {}
|
|
|
|
## Enable this if you're using https://github.com/coreos/prometheus-operator
|
|
##
|
|
serviceMonitor:
|
|
enabled: false
|
|
## Specify a namespace if needed
|
|
# namespace: monitoring
|
|
# fallback to the prometheus default unless specified
|
|
# interval: 10s
|
|
## Defaults to what's used if you follow CoreOS [Prometheus Install Instructions](https://github.com/bitnami/charts/tree/master/bitnami/prometheus-operator#tldr)
|
|
## [Prometheus Selector Label](https://github.com/bitnami/charts/tree/master/bitnami/prometheus-operator#prometheus-operator-1)
|
|
## [Kube Prometheus Selector Label](https://github.com/bitnami/charts/tree/master/bitnami/prometheus-operator#exporters)
|
|
##
|
|
selector:
|
|
prometheus: kube-prometheus
|
|
|
|
service:
|
|
type: ClusterIP
|
|
|
|
## Metrics port
|
|
##
|
|
port: 9355
|
|
## External traffic policy (when service type is LoadBalancer)
|
|
## ref: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
|
|
##
|
|
externalTrafficPolicy: Cluster
|
|
|
|
## Use serviceLoadBalancerIP to request a specific static IP, otherwise leave blank
|
|
##
|
|
# loadBalancerIP:
|
|
annotations: {}
|
|
labels: {}
|
|
|
|
## Specifies the Kubernetes Cluster's Domain Name.
|
|
##
|
|
clusterDomain: cluster.local
|
|
|
|
networkPolicy:
|
|
## Specifies whether a NetworkPolicy should be created
|
|
##
|
|
enabled: false
|
|
|
|
## The Policy model to apply. When set to false, only pods with the correct
|
|
## client label will have network access to the port Redis(TM) is listening
|
|
## on. When true, Redis(TM) will accept connections from any source
|
|
## (with the correct destination port).
|
|
##
|
|
# allowExternal: true
|
|
|
|
## Allow connections from other namespaces. Just set label for namespace and set label for pods (optional).
|
|
##
|
|
ingressNSMatchLabels: {}
|
|
ingressNSPodMatchLabels: {}
|
|
|
|
serviceAccount:
|
|
## Specifies whether a ServiceAccount should be created
|
|
##
|
|
create: false
|
|
## The name of the ServiceAccount to use.
|
|
## If not set and create is true, a name is generated using the fullname template
|
|
##
|
|
name:
|
|
## Add annotations to service account
|
|
# annotations:
|
|
# iam.gke.io/gcp-service-account: "sa@project.iam.gserviceaccount.com"
|
|
|
|
rbac:
|
|
## Specifies whether RBAC resources should be created
|
|
##
|
|
create: false
|
|
|
|
role:
|
|
## Rules to create. It follows the role specification
|
|
# rules:
|
|
# - apiGroups:
|
|
# - extensions
|
|
# resources:
|
|
# - podsecuritypolicies
|
|
# verbs:
|
|
# - use
|
|
# resourceNames:
|
|
# - gce.unprivileged
|
|
rules: []
|
|
|
|
## Redis(TM) pod Security Context
|
|
##
|
|
securityContext:
|
|
enabled: true
|
|
fsGroup: 1001
|
|
## sysctl settings for master and slave pods
|
|
##
|
|
## Uncomment the setting below to increase the net.core.somaxconn value
|
|
##
|
|
# sysctls:
|
|
# - name: net.core.somaxconn
|
|
# value: "10000"
|
|
|
|
## Container Security Context
|
|
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
|
|
##
|
|
containerSecurityContext:
|
|
enabled: true
|
|
runAsUser: 1001
|
|
|
|
## Use password authentication
|
|
##
|
|
usePassword: true
|
|
## Redis(TM) password (both master and slave)
|
|
## Defaults to a random 10-character alphanumeric string if not set and usePassword is true
|
|
## ref: https://github.com/bitnami/bitnami-docker-redis#setting-the-server-password-on-first-run
|
|
##
|
|
password: ""
|
|
## Use existing secret (ignores previous password)
|
|
# existingSecret:
|
|
## Password key to be retrieved from Redis(TM) secret
|
|
##
|
|
# existingSecretPasswordKey:
|
|
|
|
## Mount secrets as files instead of environment variables
|
|
##
|
|
usePasswordFile: false
|
|
|
|
## Persist data to a persistent volume (Redis(TM) Master)
|
|
##
|
|
persistence:
|
|
## A manually managed Persistent Volume and Claim
|
|
## Requires persistence.enabled: true
|
|
## If defined, PVC must be created manually before volume will be bound
|
|
##
|
|
existingClaim:
|
|
|
|
# Redis(TM) port
|
|
redisPort: 6379
|
|
|
|
##
|
|
## TLS configuration
|
|
##
|
|
tls:
|
|
# Enable TLS traffic
|
|
enabled: false
|
|
#
|
|
# Whether to require clients to authenticate or not.
|
|
authClients: true
|
|
#
|
|
# Name of the Secret that contains the certificates
|
|
certificatesSecret:
|
|
#
|
|
# Certificate filename
|
|
certFilename:
|
|
#
|
|
# Certificate Key filename
|
|
certKeyFilename:
|
|
#
|
|
# CA Certificate filename
|
|
certCAFilename:
|
|
#
|
|
# File containing DH params (in order to support DH based ciphers)
|
|
# dhParamsFilename:
|
|
|
|
##
|
|
## Redis(TM) Master parameters
|
|
##
|
|
master:
|
|
## Redis(TM) command arguments
|
|
##
|
|
## Can be used to specify command line arguments, for example:
|
|
## Note `exec` is prepended to command
|
|
##
|
|
command: "/run.sh"
|
|
## Additional commands to run prior to starting Redis(TM)
|
|
##
|
|
preExecCmds: ""
|
|
## Additional Redis(TM) configuration for the master nodes
|
|
## ref: https://redis.io/topics/config
|
|
##
|
|
configmap:
|
|
## Deployment pod host aliases
|
|
## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
|
|
##
|
|
hostAliases: []
|
|
## Redis(TM) additional command line flags
|
|
##
|
|
## Can be used to specify command line flags, for example:
|
|
## extraFlags:
|
|
## - "--maxmemory-policy volatile-ttl"
|
|
## - "--repl-backlog-size 1024mb"
|
|
##
|
|
extraFlags: []
|
|
## Comma-separated list of Redis(TM) commands to disable
|
|
##
|
|
## Can be used to disable Redis(TM) commands for security reasons.
|
|
## Commands will be completely disabled by renaming each to an empty string.
|
|
## ref: https://redis.io/topics/security#disabling-of-specific-commands
|
|
##
|
|
disableCommands:
|
|
- FLUSHDB
|
|
- FLUSHALL
|
|
|
|
## Redis(TM) Master additional pod labels and annotations
|
|
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
|
|
##
|
|
podLabels: {}
|
|
podAnnotations: {}
|
|
|
|
## Redis(TM) Master resource requests and limits
|
|
## ref: http://kubernetes.io/docs/user-guide/compute-resources/
|
|
# resources:
|
|
# requests:
|
|
# memory: 256Mi
|
|
# cpu: 100m
|
|
## Use an alternate scheduler, e.g. "stork".
|
|
## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
|
|
##
|
|
# schedulerName:
|
|
|
|
# Enable shared process namespace in a pod.
|
|
# If set to false (default), each container will run in separate namespace, redis will have PID=1.
|
|
# If set to true, the /pause will run as init process and will reap any zombie PIDs,
|
|
# for example, generated by a custom exec probe running longer than a probe timeoutSeconds.
|
|
# Enable this only if customLivenessProbe or customReadinessProbe is used and zombie PIDs are accumulating.
|
|
# Ref: https://kubernetes.io/docs/tasks/configure-pod-container/share-process-namespace/
|
|
shareProcessNamespace: false
|
|
## Configure extra options for Redis(TM) Master liveness and readiness probes
|
|
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes)
|
|
##
|
|
livenessProbe:
|
|
enabled: true
|
|
initialDelaySeconds: 5
|
|
periodSeconds: 5
|
|
timeoutSeconds: 5
|
|
successThreshold: 1
|
|
failureThreshold: 5
|
|
readinessProbe:
|
|
enabled: true
|
|
initialDelaySeconds: 5
|
|
periodSeconds: 5
|
|
timeoutSeconds: 1
|
|
successThreshold: 1
|
|
failureThreshold: 5
|
|
|
|
## Configure custom probes for images other images like
|
|
## rhscl/redis-32-rhel7 rhscl/redis-5-rhel7
|
|
## Only used if readinessProbe.enabled: false / livenessProbe.enabled: false
|
|
##
|
|
# customLivenessProbe:
|
|
# tcpSocket:
|
|
# port: 6379
|
|
# initialDelaySeconds: 10
|
|
# periodSeconds: 5
|
|
# customReadinessProbe:
|
|
# initialDelaySeconds: 30
|
|
# periodSeconds: 10
|
|
# timeoutSeconds: 5
|
|
# exec:
|
|
# command:
|
|
# - "container-entrypoint"
|
|
# - "bash"
|
|
# - "-c"
|
|
# - "redis-cli set liveness-probe \"`date`\" | grep OK"
|
|
customLivenessProbe: {}
|
|
customReadinessProbe: {}
|
|
|
|
## Redis(TM) Master Node selectors and tolerations for pod assignment
|
|
## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector
|
|
## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#taints-and-tolerations-beta-feature
|
|
##
|
|
# nodeSelector: {"beta.kubernetes.io/arch": "amd64"}
|
|
# tolerations: []
|
|
## Redis(TM) Master pod/node affinity/anti-affinity
|
|
##
|
|
affinity: {}
|
|
|
|
## Redis(TM) Master Service properties
|
|
##
|
|
service:
|
|
## Redis(TM) Master Service type
|
|
##
|
|
type: ClusterIP
|
|
port: 6379
|
|
|
|
## External traffic policy (when service type is LoadBalancer)
|
|
## ref: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
|
|
##
|
|
externalTrafficPolicy: Cluster
|
|
|
|
## Specify the nodePort value for the LoadBalancer and NodePort service types.
|
|
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
|
|
##
|
|
# nodePort:
|
|
|
|
## Provide any additional annotations which may be required. This can be used to
|
|
## set the LoadBalancer service type to internal only.
|
|
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer
|
|
##
|
|
annotations: {}
|
|
labels: {}
|
|
loadBalancerIP:
|
|
# loadBalancerSourceRanges: ["10.0.0.0/8"]
|
|
|
|
## Enable persistence using Persistent Volume Claims
|
|
## ref: http://kubernetes.io/docs/user-guide/persistent-volumes/
|
|
##
|
|
persistence:
|
|
enabled: true
|
|
## The path the volume will be mounted at, useful when using different
|
|
## Redis(TM) images.
|
|
##
|
|
path: /data
|
|
## The subdirectory of the volume to mount to, useful in dev environments
|
|
## and one PV for multiple services.
|
|
##
|
|
subPath: ""
|
|
## redis data Persistent Volume Storage Class
|
|
## 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: "-"
|
|
accessModes:
|
|
- ReadWriteOnce
|
|
size: 8Gi
|
|
## Persistent Volume selectors
|
|
## https://kubernetes.io/docs/concepts/storage/persistent-volumes/#selector
|
|
##
|
|
matchLabels: {}
|
|
matchExpressions: {}
|
|
volumes:
|
|
# - name: volume_name
|
|
# emptyDir: {}
|
|
|
|
## Update strategy, can be set to RollingUpdate or onDelete by default.
|
|
## https://kubernetes.io/docs/tutorials/stateful-application/basic-stateful-set/#updating-statefulsets
|
|
##
|
|
statefulset:
|
|
labels: {}
|
|
annotations: {}
|
|
updateStrategy: RollingUpdate
|
|
## Partition update strategy
|
|
## https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#partitions
|
|
# rollingUpdatePartition:
|
|
volumeClaimTemplates:
|
|
labels: {}
|
|
annotations: {}
|
|
|
|
## Redis(TM) Master pod priorityClassName
|
|
##
|
|
priorityClassName: null
|
|
|
|
## An array to add extra env vars
|
|
## For example:
|
|
## extraEnvVars:
|
|
## - name: name
|
|
## value: value
|
|
## - name: other_name
|
|
## valueFrom:
|
|
## fieldRef:
|
|
## fieldPath: fieldPath
|
|
##
|
|
extraEnvVars: []
|
|
|
|
## ConfigMap with extra env vars:
|
|
##
|
|
extraEnvVarsCM: []
|
|
|
|
## Secret with extra env vars:
|
|
##
|
|
extraEnvVarsSecret: []
|
|
|
|
##
|
|
## Redis(TM) Slave properties
|
|
## Note: service.type is a mandatory parameter
|
|
## The rest of the parameters are either optional or, if undefined, will inherit those declared in Redis(TM) Master
|
|
##
|
|
slave:
|
|
## Slave Service properties
|
|
##
|
|
service:
|
|
## Redis(TM) Slave Service type
|
|
##
|
|
type: ClusterIP
|
|
## Redis(TM) port
|
|
##
|
|
port: 6379
|
|
|
|
## External traffic policy (when service type is LoadBalancer)
|
|
## ref: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
|
|
##
|
|
externalTrafficPolicy: Cluster
|
|
|
|
## Specify the nodePort value for the LoadBalancer and NodePort service types.
|
|
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
|
|
##
|
|
# nodePort:
|
|
|
|
## Provide any additional annotations which may be required. This can be used to
|
|
## set the LoadBalancer service type to internal only.
|
|
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer
|
|
##
|
|
annotations: {}
|
|
labels: {}
|
|
loadBalancerIP:
|
|
# loadBalancerSourceRanges: ["10.0.0.0/8"]
|
|
|
|
## Redis(TM) slave port
|
|
##
|
|
port: 6379
|
|
## Deployment pod host aliases
|
|
## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
|
|
##
|
|
hostAliases: []
|
|
## Can be used to specify command line arguments, for example:
|
|
## Note `exec` is prepended to command
|
|
##
|
|
command: "/run.sh"
|
|
## Additional commands to run prior to starting Redis(TM)
|
|
##
|
|
preExecCmds: ""
|
|
## Additional Redis(TM) configuration for the slave nodes
|
|
## ref: https://redis.io/topics/config
|
|
##
|
|
configmap:
|
|
## Redis(TM) extra flags
|
|
##
|
|
extraFlags: []
|
|
## List of Redis(TM) commands to disable
|
|
##
|
|
disableCommands:
|
|
- FLUSHDB
|
|
- FLUSHALL
|
|
|
|
## Redis(TM) Slave pod/node affinity/anti-affinity
|
|
##
|
|
affinity: {}
|
|
|
|
## Kubernetes Spread Constraints for pod assignment
|
|
## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
|
|
##
|
|
# - maxSkew: 1
|
|
# topologyKey: node
|
|
# whenUnsatisfiable: DoNotSchedule
|
|
spreadConstraints: {}
|
|
|
|
# Enable shared process namespace in a pod.
|
|
# If set to false (default), each container will run in separate namespace, redis will have PID=1.
|
|
# If set to true, the /pause will run as init process and will reap any zombie PIDs,
|
|
# for example, generated by a custom exec probe running longer than a probe timeoutSeconds.
|
|
# Enable this only if customLivenessProbe or customReadinessProbe is used and zombie PIDs are accumulating.
|
|
# Ref: https://kubernetes.io/docs/tasks/configure-pod-container/share-process-namespace/
|
|
shareProcessNamespace: false
|
|
## Configure extra options for Redis(TM) Slave liveness and readiness probes
|
|
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes)
|
|
##
|
|
livenessProbe:
|
|
enabled: true
|
|
initialDelaySeconds: 30
|
|
periodSeconds: 10
|
|
timeoutSeconds: 5
|
|
successThreshold: 1
|
|
failureThreshold: 5
|
|
readinessProbe:
|
|
enabled: true
|
|
initialDelaySeconds: 5
|
|
periodSeconds: 10
|
|
timeoutSeconds: 10
|
|
successThreshold: 1
|
|
failureThreshold: 5
|
|
|
|
## Configure custom probes for images other images like
|
|
## rhscl/redis-32-rhel7 rhscl/redis-5-rhel7
|
|
## Only used if readinessProbe.enabled: false / livenessProbe.enabled: false
|
|
##
|
|
# customLivenessProbe:
|
|
# tcpSocket:
|
|
# port: 6379
|
|
# initialDelaySeconds: 10
|
|
# periodSeconds: 5
|
|
# customReadinessProbe:
|
|
# initialDelaySeconds: 30
|
|
# periodSeconds: 10
|
|
# timeoutSeconds: 5
|
|
# exec:
|
|
# command:
|
|
# - "container-entrypoint"
|
|
# - "bash"
|
|
# - "-c"
|
|
# - "redis-cli set liveness-probe \"`date`\" | grep OK"
|
|
customLivenessProbe: {}
|
|
customReadinessProbe: {}
|
|
|
|
## Redis(TM) slave Resource
|
|
# resources:
|
|
# requests:
|
|
# memory: 256Mi
|
|
# cpu: 100m
|
|
|
|
## Redis(TM) slave selectors and tolerations for pod assignment
|
|
# nodeSelector: {"beta.kubernetes.io/arch": "amd64"}
|
|
# tolerations: []
|
|
|
|
## Use an alternate scheduler, e.g. "stork".
|
|
## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
|
|
##
|
|
# schedulerName:
|
|
|
|
## Redis(TM) slave pod Annotation and Labels
|
|
##
|
|
podLabels: {}
|
|
podAnnotations: {}
|
|
|
|
## Redis(TM) slave pod priorityClassName
|
|
priorityClassName: null
|
|
|
|
## Enable persistence using Persistent Volume Claims
|
|
## ref: http://kubernetes.io/docs/user-guide/persistent-volumes/
|
|
##
|
|
persistence:
|
|
enabled: true
|
|
## The path the volume will be mounted at, useful when using different
|
|
## Redis(TM) images.
|
|
##
|
|
path: /data
|
|
## The subdirectory of the volume to mount to, useful in dev environments
|
|
## and one PV for multiple services.
|
|
##
|
|
subPath: ""
|
|
## redis data Persistent Volume Storage Class
|
|
## 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: "-"
|
|
accessModes:
|
|
- ReadWriteOnce
|
|
size: 8Gi
|
|
## Persistent Volume selectors
|
|
## https://kubernetes.io/docs/concepts/storage/persistent-volumes/#selector
|
|
##
|
|
matchLabels: {}
|
|
matchExpressions: {}
|
|
|
|
## Update strategy, can be set to RollingUpdate or onDelete by default.
|
|
## https://kubernetes.io/docs/tutorials/stateful-application/basic-stateful-set/#updating-statefulsets
|
|
##
|
|
statefulset:
|
|
labels: {}
|
|
annotations: {}
|
|
updateStrategy: RollingUpdate
|
|
## Partition update strategy
|
|
## https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#partitions
|
|
# rollingUpdatePartition:
|
|
volumeClaimTemplates:
|
|
labels: {}
|
|
annotations: {}
|
|
|
|
## An array to add extra env vars
|
|
## For example:
|
|
## extraEnvVars:
|
|
## - name: name
|
|
## value: value
|
|
## - name: other_name
|
|
## valueFrom:
|
|
## fieldRef:
|
|
## fieldPath: fieldPath
|
|
##
|
|
extraEnvVars: []
|
|
|
|
## ConfigMap with extra env vars:
|
|
##
|
|
extraEnvVarsCM: []
|
|
|
|
## Secret with extra env vars:
|
|
##
|
|
extraEnvVarsSecret: []
|
|
|
|
## Prometheus Exporter / Metrics
|
|
##
|
|
metrics:
|
|
enabled: false
|
|
|
|
image:
|
|
registry: docker.io
|
|
repository: bitnami/redis-exporter
|
|
tag: 1.20.0-debian-10-r12
|
|
pullPolicy: IfNotPresent
|
|
## Optionally specify an array of imagePullSecrets.
|
|
## Secrets must be manually created in the namespace.
|
|
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
|
|
##
|
|
# pullSecrets:
|
|
# - myRegistryKeySecretName
|
|
|
|
# A way to specify an alternative redis hostname, if you set a local endpoint in hostAliases for example
|
|
# Useful for certificate CN/SAN matching
|
|
redisTargetHost: "localhost"
|
|
|
|
## Metrics exporter resource requests and limits
|
|
## ref: http://kubernetes.io/docs/user-guide/compute-resources/
|
|
##
|
|
# resources: {}
|
|
|
|
## Extra arguments for Metrics exporter, for example:
|
|
## extraArgs:
|
|
## check-keys: myKey,myOtherKey
|
|
# extraArgs: {}
|
|
|
|
## Metrics exporter pod Annotation and Labels
|
|
##
|
|
podAnnotations:
|
|
prometheus.io/scrape: "true"
|
|
prometheus.io/port: "9121"
|
|
# podLabels: {}
|
|
|
|
# Enable this if you're using https://github.com/coreos/prometheus-operator
|
|
serviceMonitor:
|
|
enabled: false
|
|
## Specify a namespace if needed
|
|
# namespace: monitoring
|
|
# fallback to the prometheus default unless specified
|
|
# interval: 10s
|
|
## Defaults to what's used if you follow CoreOS [Prometheus Install Instructions](https://github.com/bitnami/charts/tree/master/bitnami/prometheus-operator#tldr)
|
|
## [Prometheus Selector Label](https://github.com/bitnami/charts/tree/master/bitnami/prometheus-operator#prometheus-operator-1)
|
|
## [Kube Prometheus Selector Label](https://github.com/bitnami/charts/tree/master/bitnami/prometheus-operator#exporters)
|
|
##
|
|
selector:
|
|
prometheus: kube-prometheus
|
|
|
|
## RelabelConfigs to apply to samples before scraping
|
|
## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#relabelconfig
|
|
## Value is evalued as a template
|
|
##
|
|
relabelings: []
|
|
|
|
## MetricRelabelConfigs to apply to samples before ingestion
|
|
## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#relabelconfig
|
|
## Value is evalued as a template
|
|
##
|
|
metricRelabelings: []
|
|
# - sourceLabels:
|
|
# - "__name__"
|
|
# targetLabel: "__name__"
|
|
# action: replace
|
|
# regex: '(.*)'
|
|
# replacement: 'example_prefix_$1'
|
|
|
|
## Custom PrometheusRule to be defined
|
|
## The value is evaluated as a template, so, for example, the value can depend on .Release or .Chart
|
|
## ref: https://github.com/coreos/prometheus-operator#customresourcedefinitions
|
|
##
|
|
prometheusRule:
|
|
enabled: false
|
|
additionalLabels: {}
|
|
namespace: ""
|
|
## Redis(TM) prometheus rules
|
|
## These are just examples rules, please adapt them to your needs.
|
|
## Make sure to constraint the rules to the current redis service.
|
|
# rules:
|
|
# - alert: RedisDown
|
|
# expr: redis_up{service="{{ template "redis.fullname" . }}-metrics"} == 0
|
|
# for: 2m
|
|
# labels:
|
|
# severity: error
|
|
# annotations:
|
|
# summary: Redis(TM) instance {{ "{{ $labels.instance }}" }} down
|
|
# description: Redis(TM) instance {{ "{{ $labels.instance }}" }} is down
|
|
# - alert: RedisMemoryHigh
|
|
# expr: >
|
|
# redis_memory_used_bytes{service="{{ template "redis.fullname" . }}-metrics"} * 100
|
|
# /
|
|
# redis_memory_max_bytes{service="{{ template "redis.fullname" . }}-metrics"}
|
|
# > 90
|
|
# for: 2m
|
|
# labels:
|
|
# severity: error
|
|
# annotations:
|
|
# summary: Redis(TM) instance {{ "{{ $labels.instance }}" }} is using too much memory
|
|
# description: |
|
|
# Redis(TM) instance {{ "{{ $labels.instance }}" }} is using {{ "{{ $value }}" }}% of its available memory.
|
|
# - alert: RedisKeyEviction
|
|
# expr: |
|
|
# increase(redis_evicted_keys_total{service="{{ template "redis.fullname" . }}-metrics"}[5m]) > 0
|
|
# for: 1s
|
|
# labels:
|
|
# severity: error
|
|
# annotations:
|
|
# summary: Redis(TM) instance {{ "{{ $labels.instance }}" }} has evicted keys
|
|
# description: |
|
|
# Redis(TM) instance {{ "{{ $labels.instance }}" }} has evicted {{ "{{ $value }}" }} keys in the last 5 minutes.
|
|
rules: []
|
|
|
|
## Metrics exporter pod priorityClassName
|
|
priorityClassName: null
|
|
service:
|
|
type: ClusterIP
|
|
|
|
## External traffic policy (when service type is LoadBalancer)
|
|
## ref: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
|
|
##
|
|
externalTrafficPolicy: Cluster
|
|
|
|
## Use serviceLoadBalancerIP to request a specific static IP,
|
|
## otherwise leave blank
|
|
# loadBalancerIP:
|
|
annotations: {}
|
|
labels: {}
|
|
|
|
##
|
|
## Init containers parameters:
|
|
## volumePermissions: Change the owner of the persist volume mountpoint to RunAsUser:fsGroup
|
|
##
|
|
volumePermissions:
|
|
enabled: false
|
|
image:
|
|
registry: docker.io
|
|
repository: bitnami/bitnami-shell
|
|
tag: "10"
|
|
pullPolicy: Always
|
|
## Optionally specify an array of imagePullSecrets.
|
|
## Secrets must be manually created in the namespace.
|
|
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
|
|
##
|
|
# pullSecrets:
|
|
# - myRegistryKeySecretName
|
|
resources: {}
|
|
# resources:
|
|
# requests:
|
|
# memory: 128Mi
|
|
# cpu: 100m
|
|
|
|
## Init container Security Context
|
|
## Note: the chown of the data folder is done to containerSecurityContext.runAsUser
|
|
## and not the below volumePermissions.securityContext.runAsUser
|
|
## When runAsUser is set to special value "auto", init container will try to chwon the
|
|
## data folder to autodetermined user&group, using commands: `id -u`:`id -G | cut -d" " -f2`
|
|
## "auto" is especially useful for OpenShift which has scc with dynamic userids (and 0 is not allowed).
|
|
## You may want to use this volumePermissions.securityContext.runAsUser="auto" in combination with
|
|
## podSecurityContext.enabled=false,containerSecurityContext.enabled=false
|
|
##
|
|
securityContext:
|
|
runAsUser: 0
|
|
|
|
## Redis(TM) config file
|
|
## ref: https://redis.io/topics/config
|
|
##
|
|
configmap: |-
|
|
# Enable AOF https://redis.io/topics/persistence#append-only-file
|
|
appendonly yes
|
|
# Disable RDB persistence, AOF persistence already enabled.
|
|
save ""
|
|
|
|
## Sysctl InitContainer
|
|
## used to perform sysctl operation to modify Kernel settings (needed sometimes to avoid warnings)
|
|
##
|
|
sysctlImage:
|
|
enabled: false
|
|
command: []
|
|
registry: docker.io
|
|
repository: bitnami/bitnami-shell
|
|
tag: "10"
|
|
pullPolicy: Always
|
|
## Optionally specify an array of imagePullSecrets.
|
|
## Secrets must be manually created in the namespace.
|
|
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
|
|
##
|
|
# pullSecrets:
|
|
# - myRegistryKeySecretName
|
|
mountHostSys: false
|
|
resources: {}
|
|
# resources:
|
|
# requests:
|
|
# memory: 128Mi
|
|
# cpu: 100m
|
|
|
|
## PodSecurityPolicy configuration
|
|
## ref: https://kubernetes.io/docs/concepts/policy/pod-security-policy/
|
|
##
|
|
podSecurityPolicy:
|
|
## Specifies whether a PodSecurityPolicy should be created
|
|
##
|
|
create: false
|
|
|
|
## Define a disruption budget
|
|
## ref: https://kubernetes.io/docs/concepts/workloads/pods/disruptions/
|
|
##
|
|
podDisruptionBudget:
|
|
enabled: false
|
|
minAvailable: 1
|
|
# maxUnavailable: 1
|