mirror of
https://github.com/bitnami/charts.git
synced 2026-03-09 07:27:18 +08:00
[bitnami/redis-cluster] Redis Cluster Helm Chart standardisation (#7710)
* [bitnami/redis-cluster] Standardise Redis Cluster Helm Chart Signed-off-by: Miguel A. Cabrera Minagorri <mcabrera@vmware.com> * Bump version Signed-off-by: Miguel A. Cabrera Minagorri <mcabrera@vmware.com> * Fix and regenerate README Signed-off-by: Miguel A. Cabrera Minagorri <mcabrera@vmware.com> * Apply suggestions * Re-generate readme * Address changes and improvements * Improve rollingUpdate values * Use 0 as default partition * Add upgrade notice to README
This commit is contained in:
committed by
GitHub
parent
f0deb0039a
commit
cfce1c478e
@@ -23,4 +23,4 @@ name: redis-cluster
|
||||
sources:
|
||||
- https://github.com/bitnami/bitnami-docker-redis
|
||||
- http://redis.io/
|
||||
version: 6.3.9
|
||||
version: 7.0.0
|
||||
|
||||
@@ -92,120 +92,138 @@ The command removes all the Kubernetes components associated with the chart and
|
||||
|
||||
### Redis™ Cluster Common parameters
|
||||
|
||||
| Name | Description | Value |
|
||||
| --------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------- |
|
||||
| `image.registry` | Redis™ cluster image registry | `docker.io` |
|
||||
| `image.repository` | Redis™ cluster image repository | `bitnami/redis-cluster` |
|
||||
| `image.tag` | Redis™ cluster image tag (immutable tags are recommended) | `6.2.6-debian-10-r0` |
|
||||
| `image.pullPolicy` | Redis™ cluster image pull policy | `IfNotPresent` |
|
||||
| `image.pullSecrets` | Specify docker-registry secret names as an array | `[]` |
|
||||
| `image.debug` | Enable image debug mode | `false` |
|
||||
| `networkPolicy.enabled` | Enable NetworkPolicy | `false` |
|
||||
| `networkPolicy.allowExternal` | The Policy model to apply. Don't require client label for connections | `true` |
|
||||
| `networkPolicy.ingressNSMatchLabels` | Allow connections from other namespacess. Just set label for namespace and set label for pods (optional). | `{}` |
|
||||
| `networkPolicy.ingressNSPodMatchLabels` | For other namespaces match by pod labels and namespace labels | `{}` |
|
||||
| `serviceAccount.create` | Specifies whether a ServiceAccount should be created | `false` |
|
||||
| `serviceAccount.name` | The name of the ServiceAccount to create | `""` |
|
||||
| `rbac.create` | Specifies whether RBAC resources should be created | `false` |
|
||||
| `rbac.role.rules` | Rules to create. It follows the role specification | `[]` |
|
||||
| `podSecurityContext.enabled` | Enable Redis™ pod Security Context | `true` |
|
||||
| `podSecurityContext.fsGroup` | Group ID for the pods | `1001` |
|
||||
| `podSecurityContext.runAsUser` | User ID for the pods | `1001` |
|
||||
| `podSecurityContext.sysctls` | Set namespaced sysctls for the pods | `[]` |
|
||||
| `podDisruptionBudget` | Limits the number of pods of the replicated application that are down simultaneously from voluntary disruptions | `{}` |
|
||||
| `minAvailable` | Min number of pods that must still be available after the eviction | `""` |
|
||||
| `maxUnavailable` | Max number of pods that can be unavailable after the eviction | `""` |
|
||||
| `containerSecurityContext.enabled` | Enable Containers' Security Context | `true` |
|
||||
| `containerSecurityContext.runAsUser` | User ID for the containers. | `1001` |
|
||||
| `usePassword` | Use password authentication | `true` |
|
||||
| `password` | Redis™ password (ignored if existingSecret set) | `""` |
|
||||
| `existingSecret` | Name of existing secret object (for password authentication) | `""` |
|
||||
| `existingSecretPasswordKey` | Name of key containing password to be retrieved from the existing secret | `""` |
|
||||
| `usePasswordFile` | Mount passwords as files instead of environment variables | `false` |
|
||||
| `tls.enabled` | Enable TLS support for replication traffic | `false` |
|
||||
| `tls.authClients` | Require clients to authenticate or not | `true` |
|
||||
| `tls.autoGenerated` | Generate automatically self-signed TLS certificates | `false` |
|
||||
| `tls.existingSecret` | The name of the existing secret that contains the TLS certificates | `""` |
|
||||
| `tls.certificatesSecret` | DEPRECATED. Use tls.existingSecret instead | `""` |
|
||||
| `tls.certFilename` | Certificate filename | `""` |
|
||||
| `tls.certKeyFilename` | Certificate key filename | `""` |
|
||||
| `tls.certCAFilename` | CA Certificate filename | `""` |
|
||||
| `tls.dhParamsFilename` | File containing DH params (in order to support DH based ciphers) | `""` |
|
||||
| `service.port` | Kubernetes Service port | `6379` |
|
||||
| `service.annotations` | Provide any additional annotations which may be required. | `{}` |
|
||||
| `service.labels` | Additional labels for redis service | `{}` |
|
||||
| `service.type` | Service type for default redis service | `ClusterIP` |
|
||||
| `service.loadBalancerIP` | Load balancer IP if `service.type` is `LoadBalancer` | `""` |
|
||||
| `persistence.enabled` | Use a PVC to persist data. | `true` |
|
||||
| `persistence.path` | Path to mount the volume at, to use other images Redis™ images. | `/bitnami/redis/data` |
|
||||
| `persistence.subPath` | The subdirectory of the volume to mount to, useful in dev environments and one PV for multiple services | `""` |
|
||||
| `persistence.storageClass` | Storage class of backing PVC | `""` |
|
||||
| `persistence.accessModes` | Persistent Volume Access Modes | `["ReadWriteOnce"]` |
|
||||
| `persistence.size` | Size of data volume | `8Gi` |
|
||||
| `persistence.matchLabels` | Persistent Volume selectors | `{}` |
|
||||
| `persistence.matchExpressions` | matchExpressions Persistent Volume selectors | `{}` |
|
||||
| `statefulset.updateStrategy` | Update strategy for StatefulSet | `RollingUpdate` |
|
||||
| `statefulset.rollingUpdatePartition` | Partition update strategy | `""` |
|
||||
| `volumePermissions.enabled` | Enable init container that changes volume permissions in the registry (for cases where the default k8s `runAsUser` and `fsUser` values do not work) | `false` |
|
||||
| `volumePermissions.image.registry` | Init container volume-permissions image registry | `docker.io` |
|
||||
| `volumePermissions.image.repository` | Init container volume-permissions image repository | `bitnami/bitnami-shell` |
|
||||
| `volumePermissions.image.tag` | Init container volume-permissions image tag | `10-debian-10-r212` |
|
||||
| `volumePermissions.image.pullPolicy` | Init container volume-permissions image pull policy | `Always` |
|
||||
| `volumePermissions.image.pullSecrets` | Specify docker-registry secret names as an array | `[]` |
|
||||
| `volumePermissions.resources.limits` | The resources limits for the container | `{}` |
|
||||
| `volumePermissions.resources.requests` | The requested resources for the container | `{}` |
|
||||
| `podSecurityPolicy.create` | Specifies whether a PodSecurityPolicy should be created | `false` |
|
||||
| Name | Description | Value |
|
||||
| --------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------- |
|
||||
| `image.registry` | Redis™ cluster image registry | `docker.io` |
|
||||
| `image.repository` | Redis™ cluster image repository | `bitnami/redis-cluster` |
|
||||
| `image.tag` | Redis™ cluster image tag (immutable tags are recommended) | `6.2.6-debian-10-r0` |
|
||||
| `image.pullPolicy` | Redis™ cluster image pull policy | `IfNotPresent` |
|
||||
| `image.pullSecrets` | Specify docker-registry secret names as an array | `[]` |
|
||||
| `image.debug` | Enable image debug mode | `false` |
|
||||
| `networkPolicy.enabled` | Enable NetworkPolicy | `false` |
|
||||
| `networkPolicy.allowExternal` | The Policy model to apply. Don't require client label for connections | `true` |
|
||||
| `networkPolicy.ingressNSMatchLabels` | Allow connections from other namespacess. Just set label for namespace and set label for pods (optional). | `{}` |
|
||||
| `networkPolicy.ingressNSPodMatchLabels` | For other namespaces match by pod labels and namespace labels | `{}` |
|
||||
| `serviceAccount.create` | Specifies whether a ServiceAccount should be created | `false` |
|
||||
| `serviceAccount.name` | The name of the ServiceAccount to create | `""` |
|
||||
| `serviceAccount.annotations` | Annotations for Cassandra Service Account | `{}` |
|
||||
| `serviceAccount.automountServiceAccountToken` | Automount API credentials for a service account. | `false` |
|
||||
| `rbac.create` | Specifies whether RBAC resources should be created | `false` |
|
||||
| `rbac.role.rules` | Rules to create. It follows the role specification | `[]` |
|
||||
| `podSecurityContext.enabled` | Enable Redis™ pod Security Context | `true` |
|
||||
| `podSecurityContext.fsGroup` | Group ID for the pods | `1001` |
|
||||
| `podSecurityContext.runAsUser` | User ID for the pods | `1001` |
|
||||
| `podSecurityContext.sysctls` | Set namespaced sysctls for the pods | `[]` |
|
||||
| `podDisruptionBudget` | Limits the number of pods of the replicated application that are down simultaneously from voluntary disruptions | `{}` |
|
||||
| `minAvailable` | Min number of pods that must still be available after the eviction | `""` |
|
||||
| `maxUnavailable` | Max number of pods that can be unavailable after the eviction | `""` |
|
||||
| `containerSecurityContext.enabled` | Enable Containers' Security Context | `true` |
|
||||
| `containerSecurityContext.runAsUser` | User ID for the containers. | `1001` |
|
||||
| `containerSecurityContext.runAsNonRoot` | Run container as non root | `true` |
|
||||
| `usePassword` | Use password authentication | `true` |
|
||||
| `password` | Redis™ password (ignored if existingSecret set) | `""` |
|
||||
| `existingSecret` | Name of existing secret object (for password authentication) | `""` |
|
||||
| `existingSecretPasswordKey` | Name of key containing password to be retrieved from the existing secret | `""` |
|
||||
| `usePasswordFile` | Mount passwords as files instead of environment variables | `false` |
|
||||
| `tls.enabled` | Enable TLS support for replication traffic | `false` |
|
||||
| `tls.authClients` | Require clients to authenticate or not | `true` |
|
||||
| `tls.autoGenerated` | Generate automatically self-signed TLS certificates | `false` |
|
||||
| `tls.existingSecret` | The name of the existing secret that contains the TLS certificates | `""` |
|
||||
| `tls.certificatesSecret` | DEPRECATED. Use tls.existingSecret instead | `""` |
|
||||
| `tls.certFilename` | Certificate filename | `""` |
|
||||
| `tls.certKeyFilename` | Certificate key filename | `""` |
|
||||
| `tls.certCAFilename` | CA Certificate filename | `""` |
|
||||
| `tls.dhParamsFilename` | File containing DH params (in order to support DH based ciphers) | `""` |
|
||||
| `service.ports.redis` | Kubernetes Redis service port | `6379` |
|
||||
| `service.nodePorts.redis` | Node port for Redis | `""` |
|
||||
| `service.extraPorts` | Extra ports to expose in the service (normally used with the `sidecar` value) | `[]` |
|
||||
| `service.annotations` | Provide any additional annotations which may be required. | `{}` |
|
||||
| `service.labels` | Additional labels for redis service | `{}` |
|
||||
| `service.type` | Service type for default redis service | `ClusterIP` |
|
||||
| `service.clusterIP` | Service Cluster IP | `""` |
|
||||
| `service.loadBalancerIP` | Load balancer IP if `service.type` is `LoadBalancer` | `""` |
|
||||
| `service.loadBalancerSourceRanges` | Service Load Balancer sources | `[]` |
|
||||
| `service.externalTrafficPolicy` | Service external traffic policy | `Cluster` |
|
||||
| `persistence.enabled` | Use a PVC to persist data. | `true` |
|
||||
| `persistence.path` | Path to mount the volume at, to use other images Redis™ images. | `/bitnami/redis/data` |
|
||||
| `persistence.subPath` | The subdirectory of the volume to mount to, useful in dev environments and one PV for multiple services | `""` |
|
||||
| `persistence.storageClass` | Storage class of backing PVC | `""` |
|
||||
| `persistence.annotations` | Persistent Volume Claim annotations | `{}` |
|
||||
| `persistence.accessModes` | Persistent Volume Access Modes | `["ReadWriteOnce"]` |
|
||||
| `persistence.size` | Size of data volume | `8Gi` |
|
||||
| `persistence.matchLabels` | Persistent Volume selectors | `{}` |
|
||||
| `persistence.matchExpressions` | matchExpressions Persistent Volume selectors | `{}` |
|
||||
| `volumePermissions.enabled` | Enable init container that changes volume permissions in the registry (for cases where the default k8s `runAsUser` and `fsUser` values do not work) | `false` |
|
||||
| `volumePermissions.image.registry` | Init container volume-permissions image registry | `docker.io` |
|
||||
| `volumePermissions.image.repository` | Init container volume-permissions image repository | `bitnami/bitnami-shell` |
|
||||
| `volumePermissions.image.tag` | Init container volume-permissions image tag | `10-debian-10-r212` |
|
||||
| `volumePermissions.image.pullPolicy` | Init container volume-permissions image pull policy | `Always` |
|
||||
| `volumePermissions.image.pullSecrets` | Specify docker-registry secret names as an array | `[]` |
|
||||
| `volumePermissions.resources.limits` | The resources limits for the container | `{}` |
|
||||
| `volumePermissions.resources.requests` | The requested resources for the container | `{}` |
|
||||
| `podSecurityPolicy.create` | Specifies whether a PodSecurityPolicy should be created | `false` |
|
||||
|
||||
|
||||
### Redis™ statefulset parameters
|
||||
|
||||
| Name | Description | Value |
|
||||
| ------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------- |
|
||||
| `redis.command` | Redis™ entrypoint string. The command `redis-server` is executed if this is not provided | `[]` |
|
||||
| `redis.args` | Arguments for the provided command if needed | `[]` |
|
||||
| `redis.hostAliases` | Deployment pod host aliases | `[]` |
|
||||
| `redis.useAOFPersistence` | Whether to use AOF Persistence mode or not | `yes` |
|
||||
| `redis.port` | Redis™ port | `6379` |
|
||||
| `redis.lifecycleHooks` | LifecycleHook to set additional configuration before or after startup. Evaluated as a template | `{}` |
|
||||
| `redis.extraVolumes` | Extra volumes to add to the deployment | `[]` |
|
||||
| `redis.extraVolumeMounts` | Extra volume mounts to add to the container | `[]` |
|
||||
| `redis.customLivenessProbe` | Override default liveness probe | `{}` |
|
||||
| `redis.customReadinessProbe` | Override default readiness probe | `{}` |
|
||||
| `redis.initContainers` | Extra init containers to add to the deployment | `[]` |
|
||||
| `redis.sidecars` | Extra sidecar containers to add to the deployment | `[]` |
|
||||
| `redis.podLabels` | Additional labels for Redis™ pod | `{}` |
|
||||
| `redis.priorityClassName` | Redis™ Master pod priorityClassName | `""` |
|
||||
| `redis.configmap` | Additional Redis™ configuration for the nodes | `""` |
|
||||
| `redis.extraEnvVars` | An array to add extra environment variables | `[]` |
|
||||
| `redis.extraEnvVarsCM` | ConfigMap with extra environment variables | `""` |
|
||||
| `redis.extraEnvVarsSecret` | Secret with extra environment variables | `""` |
|
||||
| `redis.podAnnotations` | Redis™ additional annotations | `{}` |
|
||||
| `redis.resources.limits` | The resources limits for the container | `{}` |
|
||||
| `redis.resources.requests` | The requested resources for the container | `{}` |
|
||||
| `redis.schedulerName` | Use an alternate scheduler, e.g. "stork". | `""` |
|
||||
| `redis.shareProcessNamespace` | Enable shared process namespace in a pod. | `false` |
|
||||
| `redis.livenessProbe.enabled` | Enable livenessProbe | `true` |
|
||||
| `redis.livenessProbe.initialDelaySeconds` | Initial delay seconds for livenessProbe | `5` |
|
||||
| `redis.livenessProbe.periodSeconds` | Period seconds for livenessProbe | `5` |
|
||||
| `redis.livenessProbe.timeoutSeconds` | Timeout seconds for livenessProbe | `5` |
|
||||
| `redis.livenessProbe.failureThreshold` | Failure threshold for livenessProbe | `5` |
|
||||
| `redis.livenessProbe.successThreshold` | Success threshold for livenessProbe | `1` |
|
||||
| `redis.readinessProbe.enabled` | Enable readinessProbe | `true` |
|
||||
| `redis.readinessProbe.initialDelaySeconds` | Initial delay seconds for readinessProbe | `5` |
|
||||
| `redis.readinessProbe.periodSeconds` | Period seconds for readinessProbe | `5` |
|
||||
| `redis.readinessProbe.timeoutSeconds` | Timeout seconds for readinessProbe | `1` |
|
||||
| `redis.readinessProbe.failureThreshold` | Failure threshold for readinessProbe | `5` |
|
||||
| `redis.readinessProbe.successThreshold` | Success threshold for readinessProbe | `1` |
|
||||
| `redis.podAffinityPreset` | Redis™ pod affinity preset. Ignored if `redis.affinity` is set. Allowed values: `soft` or `hard` | `""` |
|
||||
| `redis.podAntiAffinityPreset` | Redis™ pod anti-affinity preset. Ignored if `redis.affinity` is set. Allowed values: `soft` or `hard` | `soft` |
|
||||
| `redis.nodeAffinityPreset.type` | Redis™ node affinity preset type. Ignored if `redis.affinity` is set. Allowed values: `soft` or `hard` | `""` |
|
||||
| `redis.nodeAffinityPreset.key` | Redis™ node label key to match Ignored if `redis.affinity` is set. | `""` |
|
||||
| `redis.nodeAffinityPreset.values` | Redis™ node label values to match. Ignored if `redis.affinity` is set. | `[]` |
|
||||
| `redis.affinity` | Affinity settings for Redis™ pod assignment | `{}` |
|
||||
| `redis.nodeSelector` | Node labels for Redis™ pods assignment | `{}` |
|
||||
| `redis.tolerations` | Tolerations for Redis™ pods assignment | `[]` |
|
||||
| `redis.topologySpreadConstraints` | Pod topology spread constraints for Redis™ pod | `[]` |
|
||||
| `redis.busPort` | The busPort should be obtained adding 10000 to the redisPort. By default: 10000 + 6379 = 16379 | `16379` |
|
||||
| Name | Description | Value |
|
||||
| ---------------------------------------------- | ------------------------------------------------------------------------------------------------------------ | --------------- |
|
||||
| `redis.command` | Redis™ entrypoint string. The command `redis-server` is executed if this is not provided | `[]` |
|
||||
| `redis.args` | Arguments for the provided command if needed | `[]` |
|
||||
| `redis.updateStrategy.type` | Argo Workflows statefulset strategy type | `RollingUpdate` |
|
||||
| `redis.updateStrategy.rollingUpdate.partition` | Partition update strategy | `0` |
|
||||
| `redis.podManagementPolicy` | Statefulset Pod management policy, it needs to be Parallel to be able to complete the cluster join | `Parallel` |
|
||||
| `redis.hostAliases` | Deployment pod host aliases | `[]` |
|
||||
| `redis.useAOFPersistence` | Whether to use AOF Persistence mode or not | `yes` |
|
||||
| `redis.containerPorts.redis` | Redis™ port | `6379` |
|
||||
| `redis.containerPorts.bus` | The busPort should be obtained adding 10000 to the redisPort. By default: 10000 + 6379 = 16379 | `16379` |
|
||||
| `redis.lifecycleHooks` | LifecycleHook to set additional configuration before or after startup. Evaluated as a template | `{}` |
|
||||
| `redis.extraVolumes` | Extra volumes to add to the deployment | `[]` |
|
||||
| `redis.extraVolumeMounts` | Extra volume mounts to add to the container | `[]` |
|
||||
| `redis.customLivenessProbe` | Override default liveness probe | `{}` |
|
||||
| `redis.customReadinessProbe` | Override default readiness probe | `{}` |
|
||||
| `redis.customStartupProbe` | Custom startupProbe that overrides the default one | `{}` |
|
||||
| `redis.initContainers` | Extra init containers to add to the deployment | `[]` |
|
||||
| `redis.sidecars` | Extra sidecar containers to add to the deployment | `[]` |
|
||||
| `redis.podLabels` | Additional labels for Redis™ pod | `{}` |
|
||||
| `redis.priorityClassName` | Redis™ Master pod priorityClassName | `""` |
|
||||
| `redis.configmap` | Additional Redis™ configuration for the nodes | `""` |
|
||||
| `redis.extraEnvVars` | An array to add extra environment variables | `[]` |
|
||||
| `redis.extraEnvVarsCM` | ConfigMap with extra environment variables | `""` |
|
||||
| `redis.extraEnvVarsSecret` | Secret with extra environment variables | `""` |
|
||||
| `redis.podAnnotations` | Redis™ additional annotations | `{}` |
|
||||
| `redis.resources.limits` | The resources limits for the container | `{}` |
|
||||
| `redis.resources.requests` | The requested resources for the container | `{}` |
|
||||
| `redis.schedulerName` | Use an alternate scheduler, e.g. "stork". | `""` |
|
||||
| `redis.shareProcessNamespace` | Enable shared process namespace in a pod. | `false` |
|
||||
| `redis.livenessProbe.enabled` | Enable livenessProbe | `true` |
|
||||
| `redis.livenessProbe.initialDelaySeconds` | Initial delay seconds for livenessProbe | `5` |
|
||||
| `redis.livenessProbe.periodSeconds` | Period seconds for livenessProbe | `5` |
|
||||
| `redis.livenessProbe.timeoutSeconds` | Timeout seconds for livenessProbe | `5` |
|
||||
| `redis.livenessProbe.failureThreshold` | Failure threshold for livenessProbe | `5` |
|
||||
| `redis.livenessProbe.successThreshold` | Success threshold for livenessProbe | `1` |
|
||||
| `redis.readinessProbe.enabled` | Enable readinessProbe | `true` |
|
||||
| `redis.readinessProbe.initialDelaySeconds` | Initial delay seconds for readinessProbe | `5` |
|
||||
| `redis.readinessProbe.periodSeconds` | Period seconds for readinessProbe | `5` |
|
||||
| `redis.readinessProbe.timeoutSeconds` | Timeout seconds for readinessProbe | `1` |
|
||||
| `redis.readinessProbe.failureThreshold` | Failure threshold for readinessProbe | `5` |
|
||||
| `redis.readinessProbe.successThreshold` | Success threshold for readinessProbe | `1` |
|
||||
| `redis.startupProbe.enabled` | Enable startupProbe | `false` |
|
||||
| `redis.startupProbe.path` | Path to check for startupProbe | `/` |
|
||||
| `redis.startupProbe.initialDelaySeconds` | Initial delay seconds for startupProbe | `300` |
|
||||
| `redis.startupProbe.periodSeconds` | Period seconds for startupProbe | `10` |
|
||||
| `redis.startupProbe.timeoutSeconds` | Timeout seconds for startupProbe | `5` |
|
||||
| `redis.startupProbe.failureThreshold` | Failure threshold for startupProbe | `6` |
|
||||
| `redis.startupProbe.successThreshold` | Success threshold for startupProbe | `1` |
|
||||
| `redis.podAffinityPreset` | Redis™ pod affinity preset. Ignored if `redis.affinity` is set. Allowed values: `soft` or `hard` | `""` |
|
||||
| `redis.podAntiAffinityPreset` | Redis™ pod anti-affinity preset. Ignored if `redis.affinity` is set. Allowed values: `soft` or `hard` | `soft` |
|
||||
| `redis.nodeAffinityPreset.type` | Redis™ node affinity preset type. Ignored if `redis.affinity` is set. Allowed values: `soft` or `hard` | `""` |
|
||||
| `redis.nodeAffinityPreset.key` | Redis™ node label key to match Ignored if `redis.affinity` is set. | `""` |
|
||||
| `redis.nodeAffinityPreset.values` | Redis™ node label values to match. Ignored if `redis.affinity` is set. | `[]` |
|
||||
| `redis.affinity` | Affinity settings for Redis™ pod assignment | `{}` |
|
||||
| `redis.nodeSelector` | Node labels for Redis™ pods assignment | `{}` |
|
||||
| `redis.tolerations` | Tolerations for Redis™ pods assignment | `[]` |
|
||||
| `redis.topologySpreadConstraints` | Pod topology spread constraints for Redis™ pod | `[]` |
|
||||
|
||||
|
||||
### Cluster update job parameters
|
||||
@@ -257,30 +275,37 @@ The command removes all the Kubernetes components associated with the chart and
|
||||
|
||||
### Metrics sidecar parameters
|
||||
|
||||
| Name | Description | Value |
|
||||
| ----------------------------------------- | ------------------------------------------------------------------------------------------------------------------------ | ------------------------ |
|
||||
| `metrics.enabled` | Start a side-car prometheus exporter | `false` |
|
||||
| `metrics.image.registry` | Redis™ exporter image registry | `docker.io` |
|
||||
| `metrics.image.repository` | Redis™ exporter image name | `bitnami/redis-exporter` |
|
||||
| `metrics.image.tag` | Redis™ exporter image tag | `1.27.1-debian-10-r12` |
|
||||
| `metrics.image.pullPolicy` | Redis™ exporter image pull policy | `IfNotPresent` |
|
||||
| `metrics.image.pullSecrets` | Specify docker-registry secret names as an array | `[]` |
|
||||
| `metrics.resources` | Metrics exporter resource requests and limits | `{}` |
|
||||
| `metrics.extraArgs` | Extra arguments for the binary; possible values [here](https://github.com/oliver006/redis_exporter | `{}` |
|
||||
| `metrics.podAnnotations` | Additional annotations for Metrics exporter pod | `{}` |
|
||||
| `metrics.podLabels` | Additional labels for Metrics exporter pod | `{}` |
|
||||
| `metrics.serviceMonitor.enabled` | If `true`, creates a Prometheus Operator ServiceMonitor (also requires `metrics.enabled` to be `true`) | `false` |
|
||||
| `metrics.serviceMonitor.namespace` | Optional namespace which Prometheus is running in | `""` |
|
||||
| `metrics.serviceMonitor.interval` | How frequently to scrape metrics (use by default, falling back to Prometheus' default) | `""` |
|
||||
| `metrics.prometheusRule.enabled` | Set this to true to create prometheusRules for Prometheus operator | `false` |
|
||||
| `metrics.prometheusRule.additionalLabels` | Additional labels that can be used so prometheusRules will be discovered by Prometheus | `{}` |
|
||||
| `metrics.prometheusRule.namespace` | namespace where prometheusRules resource should be created | `""` |
|
||||
| `metrics.prometheusRule.rules` | (https://prometheus.io/docs/prometheus/latest/configuration/alerting_rules/) to be created, check values for an example. | `[]` |
|
||||
| `metrics.priorityClassName` | Metrics exporter pod priorityClassName | `""` |
|
||||
| `metrics.service.type` | Kubernetes Service type (redis metrics) | `ClusterIP` |
|
||||
| `metrics.service.loadBalancerIP` | Use serviceLoadBalancerIP to request a specific static IP, otherwise leave blank | `""` |
|
||||
| `metrics.service.annotations` | Annotations for the services to monitor. | `{}` |
|
||||
| `metrics.service.labels` | Additional labels for the metrics service | `{}` |
|
||||
| Name | Description | Value |
|
||||
| ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------ |
|
||||
| `metrics.enabled` | Start a side-car prometheus exporter | `false` |
|
||||
| `metrics.image.registry` | Redis™ exporter image registry | `docker.io` |
|
||||
| `metrics.image.repository` | Redis™ exporter image name | `bitnami/redis-exporter` |
|
||||
| `metrics.image.tag` | Redis™ exporter image tag | `1.27.1-debian-10-r12` |
|
||||
| `metrics.image.pullPolicy` | Redis™ exporter image pull policy | `IfNotPresent` |
|
||||
| `metrics.image.pullSecrets` | Specify docker-registry secret names as an array | `[]` |
|
||||
| `metrics.resources` | Metrics exporter resource requests and limits | `{}` |
|
||||
| `metrics.extraArgs` | Extra arguments for the binary; possible values [here](https://github.com/oliver006/redis_exporter | `{}` |
|
||||
| `metrics.podAnnotations` | Additional annotations for Metrics exporter pod | `{}` |
|
||||
| `metrics.podLabels` | Additional labels for Metrics exporter pod | `{}` |
|
||||
| `metrics.serviceMonitor.enabled` | If `true`, creates a Prometheus Operator ServiceMonitor (also requires `metrics.enabled` to be `true`) | `false` |
|
||||
| `metrics.serviceMonitor.namespace` | Optional namespace which Prometheus is running in | `""` |
|
||||
| `metrics.serviceMonitor.interval` | How frequently to scrape metrics (use by default, falling back to Prometheus' default) | `""` |
|
||||
| `metrics.serviceMonitor.scrapeTimeout` | Timeout after which the scrape is ended | `""` |
|
||||
| `metrics.serviceMonitor.selector` | Prometheus instance selector labels | `{}` |
|
||||
| `metrics.serviceMonitor.labels` | ServiceMonitor extra labels | `{}` |
|
||||
| `metrics.serviceMonitor.annotations` | ServiceMonitor annotations | `{}` |
|
||||
| `metrics.serviceMonitor.jobLabel` | The name of the label on the target service to use as the job name in prometheus. | `""` |
|
||||
| `metrics.serviceMonitor.relabelings` | RelabelConfigs to apply to samples before scraping | `[]` |
|
||||
| `metrics.serviceMonitor.metricRelabelings` | MetricRelabelConfigs to apply to samples before ingestion | `[]` |
|
||||
| `metrics.prometheusRule.enabled` | Set this to true to create prometheusRules for Prometheus operator | `false` |
|
||||
| `metrics.prometheusRule.additionalLabels` | Additional labels that can be used so prometheusRules will be discovered by Prometheus | `{}` |
|
||||
| `metrics.prometheusRule.namespace` | namespace where prometheusRules resource should be created | `""` |
|
||||
| `metrics.prometheusRule.rules` | (https://prometheus.io/docs/prometheus/latest/configuration/alerting_rules/) to be created, check values for an example. | `[]` |
|
||||
| `metrics.priorityClassName` | Metrics exporter pod priorityClassName | `""` |
|
||||
| `metrics.service.type` | Kubernetes Service type (redis metrics) | `ClusterIP` |
|
||||
| `metrics.service.loadBalancerIP` | Use serviceLoadBalancerIP to request a specific static IP, otherwise leave blank | `""` |
|
||||
| `metrics.service.annotations` | Annotations for the services to monitor. | `{}` |
|
||||
| `metrics.service.labels` | Additional labels for the metrics service | `{}` |
|
||||
|
||||
|
||||
### Sysctl Image parameters
|
||||
@@ -561,6 +586,17 @@ Find more information about how to deal with common errors related to Bitnami’
|
||||
|
||||
## Upgrading
|
||||
|
||||
### To 7.0.0
|
||||
|
||||
This major release renames several values in this chart and adds missing features, in order to be inline with the rest of assets in the Bitnami charts repository.
|
||||
|
||||
Since this version performs changes in the statefulset, in order to upgrade from previous versions you need to delete the statefulset object before the upgrade.
|
||||
|
||||
```console
|
||||
kubectl delete statefulset <statefulsetName>
|
||||
helm upgrade <release-name> bitnami/redis-cluster --set redis.password=<REDIS_PASSWORD>
|
||||
```
|
||||
|
||||
### To 6.0.0
|
||||
|
||||
The cluster initialization job have been removed. Instead, the pod with index 0 from the statefulset will handle the initialization of the cluster.
|
||||
|
||||
@@ -51,7 +51,7 @@ To connect to your Redis™ server from outside the cluster check the follow
|
||||
To connect to your database from outside the cluster execute the following commands:
|
||||
|
||||
export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ template "common.names.fullname" . }} --template "{{"{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}")
|
||||
redis-cli -c -h $SERVICE_IP -p {{ .Values.service.port }} {{- if .Values.usePassword }} -a $REDIS_PASSWORD{{ end }}{{ if .Values.tls.enabled }} --tls --cert /tmp/client.cert --key /tmp/client.key --cacert /tmp/CA.cert{{ end }}
|
||||
redis-cli -c -h $SERVICE_IP -p {{ .Values.service.ports.redis }} {{- if .Values.usePassword }} -a $REDIS_PASSWORD{{ end }}{{ if .Values.tls.enabled }} --tls --cert /tmp/client.cert --key /tmp/client.key --cacert /tmp/CA.cert{{ end }}
|
||||
{{- end }}
|
||||
|
||||
{{- else }}
|
||||
|
||||
@@ -15,9 +15,9 @@ spec:
|
||||
publishNotReadyAddresses: true
|
||||
ports:
|
||||
- name: tcp-redis
|
||||
port: {{ .Values.redis.port }}
|
||||
port: {{ .Values.redis.containerPorts.redis }}
|
||||
targetPort: tcp-redis
|
||||
- name: tcp-redis-bus
|
||||
port: {{ .Values.redis.busPort }}
|
||||
port: {{ .Values.redis.containerPorts.bus }}
|
||||
targetPort: tcp-redis-bus
|
||||
selector: {{- include "common.labels.matchLabels" . | nindent 4 }}
|
||||
|
||||
@@ -10,17 +10,41 @@ metadata:
|
||||
{{- if .Values.commonLabels }}
|
||||
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.commonAnnotations }}
|
||||
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
|
||||
{{- if .Values.metrics.serviceMonitor.labels }}
|
||||
{{- include "common.tplvalues.render" ( dict "value" .Values.metrics.serviceMonitor.labels "context" $ ) | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- if or .Values.commonAnnotations .Values.metrics.serviceMonitor.annotations }}
|
||||
annotations:
|
||||
{{- if .Values.commonAnnotations }}
|
||||
{{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.metrics.serviceMonitor.annotations }}
|
||||
{{- include "common.tplvalues.render" ( dict "value" .Values.metrics.serviceMonitor.annotations "context" $ ) | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
spec:
|
||||
{{- if .Values.serviceMonitor.jobLabel }}
|
||||
jobLabel: {{ .Values.serviceMonitor.jobLabel }}
|
||||
{{- end }}
|
||||
endpoints:
|
||||
- port: metrics
|
||||
{{- if .Values.metrics.serviceMonitor.interval }}
|
||||
interval: {{ .Values.metrics.serviceMonitor.interval }}
|
||||
{{- end }}
|
||||
{{- if .Values.metrics.serviceMonitor.scrapeTimeout }}
|
||||
scrapeTimeout: {{ .Values.metrics.serviceMonitor.scrapeTimeout }}
|
||||
{{- end }}
|
||||
{{- if .Values.serviceMonitor.relabelings }}
|
||||
relabelings: {{- include "common.tplvalues.render" ( dict "value" .Values.serviceMonitor.relabelings "context" $) | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- if .Values.serviceMonitor.metricRelabelings }}
|
||||
metricRelabelings: {{- include "common.tplvalues.render" ( dict "value" .Values.serviceMonitor.metricRelabelings "context" $) | nindent 8 }}
|
||||
{{- end }}
|
||||
selector:
|
||||
matchLabels: {{- include "common.labels.matchLabels" . | nindent 6 }}
|
||||
{{- if .Values.metrics.serviceMonitor.selector }}
|
||||
{{- include "common.tplvalues.render" (dict "value" .Values.metrics.serviceMonitor.selector "context" $) | nindent 6 }}
|
||||
{{- end }}
|
||||
app.kubernetes.io/component: "metrics"
|
||||
namespaceSelector:
|
||||
matchNames:
|
||||
|
||||
@@ -25,16 +25,16 @@ spec:
|
||||
protocol: UDP
|
||||
# Allow outbound connections to other cluster pods
|
||||
- ports:
|
||||
- port: {{ .Values.redis.port }}
|
||||
- port: {{ .Values.redis.busPort }}
|
||||
- port: {{ .Values.redis.containerPorts.redis }}
|
||||
- port: {{ .Values.redis.containerPorts.bus }}
|
||||
to:
|
||||
- podSelector:
|
||||
matchLabels: {{- include "common.labels.matchLabels" . | nindent 14 }}
|
||||
ingress:
|
||||
# Allow inbound connections
|
||||
- ports:
|
||||
- port: {{ .Values.redis.port }}
|
||||
- port: {{ .Values.redis.busPort }}
|
||||
- port: {{ .Values.redis.containerPorts.redis }}
|
||||
- port: {{ .Values.redis.containerPorts.bus }}
|
||||
from:
|
||||
{{- if not .Values.networkPolicy.allowExternal }}
|
||||
- podSelector:
|
||||
|
||||
@@ -7,7 +7,14 @@ metadata:
|
||||
{{- if .Values.commonLabels }}
|
||||
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.commonAnnotations }}
|
||||
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
|
||||
{{- if or .Values.serviceAccount.annotations .Values.commonAnnotations }}
|
||||
annotations:
|
||||
{{- if .Values.serviceAccount.annotations }}
|
||||
{{- include "common.tplvalues.render" (dict "value" .Values.serviceAccount.annotations "context" $) | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.commonAnnotations }}
|
||||
{{- include "common.tplvalues.render" (dict "value" .Values.commonAnnotations "context" $) | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
automountServiceAccountToken: {{ .Values.serviceAccount.automountServiceAccountToken }}
|
||||
{{- end -}}
|
||||
|
||||
@@ -11,11 +11,14 @@ metadata:
|
||||
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
{{- if .Values.redis.updateStrategy }}
|
||||
updateStrategy: {{- toYaml .Values.redis.updateStrategy | nindent 4 }}
|
||||
{{- end }}
|
||||
selector:
|
||||
matchLabels: {{- include "common.labels.matchLabels" . | nindent 6 }}
|
||||
replicas: {{ .Values.cluster.nodes }}
|
||||
serviceName: {{ include "common.names.fullname" . }}-headless
|
||||
podManagementPolicy: "Parallel"
|
||||
podManagementPolicy: {{ .Values.redis.podManagementPolicy }}
|
||||
template:
|
||||
metadata:
|
||||
labels: {{- include "common.labels.standard" . | nindent 8 }}
|
||||
@@ -165,7 +168,7 @@ spec:
|
||||
value: {{ ternary "yes" "no" .Values.tls.enabled | quote }}
|
||||
{{- if .Values.tls.enabled }}
|
||||
- name: REDIS_TLS_PORT
|
||||
value: {{ .Values.redis.port | quote }}
|
||||
value: {{ .Values.redis.containerPorts.redis | quote }}
|
||||
- name: REDIS_TLS_AUTH_CLIENTS
|
||||
value: {{ ternary "yes" "no" .Values.tls.authClients | quote }}
|
||||
- name: REDIS_TLS_CERT_FILE
|
||||
@@ -180,7 +183,7 @@ spec:
|
||||
{{- end }}
|
||||
{{- else }}
|
||||
- name: REDIS_PORT
|
||||
value: {{ .Values.redis.port | quote }}
|
||||
value: {{ .Values.redis.containerPorts.redis | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.redis.extraEnvVars }}
|
||||
{{- include "common.tplvalues.render" ( dict "value" .Values.redis.extraEnvVars "context" $ ) | nindent 12 }}
|
||||
@@ -198,9 +201,9 @@ spec:
|
||||
{{- end }}
|
||||
ports:
|
||||
- name: tcp-redis
|
||||
containerPort: {{ .Values.redis.port }}
|
||||
containerPort: {{ .Values.redis.containerPorts.redis }}
|
||||
- name: tcp-redis-bus
|
||||
containerPort: {{ .Values.redis.busPort }}
|
||||
containerPort: {{ .Values.redis.containerPorts.bus }}
|
||||
{{- if not .Values.diagnosticMode.enabled }}
|
||||
{{- if .Values.redis.livenessProbe.enabled }}
|
||||
livenessProbe:
|
||||
@@ -234,6 +237,18 @@ spec:
|
||||
{{- else if .Values.redis.customReadinessProbe }}
|
||||
readinessProbe: {{- include "common.tplvalues.render" (dict "value" .Values.redis.customReadinessProbe "context" $) | nindent 12 }}
|
||||
{{- end }}
|
||||
{{- if .Values.redis.startupProbe.enabled }}
|
||||
startupProbe:
|
||||
tcpSocket:
|
||||
port: tcp-redis
|
||||
initialDelaySeconds: {{ .Values.redis.startupProbe.initialDelaySeconds }}
|
||||
periodSeconds: {{ .Values.redis.startupProbe.periodSeconds }}
|
||||
timeoutSeconds: {{ .Values.redis.startupProbe.timeoutSeconds }}
|
||||
successThreshold: {{ .Values.redis.startupProbe.successThreshold }}
|
||||
failureThreshold: {{ .Values.redis.startupProbe.failureThreshold }}
|
||||
{{- else if .Values.redis.customStartupProbe }}
|
||||
startupProbe: {{- include "common.tplvalues.render" (dict "value" .Values.redis.customStartupProbe "context" $) | nindent 12 }}
|
||||
{{- end }}
|
||||
{{- if .Values.redis.lifecycleHooks }}
|
||||
lifecycle: {{- include "common.tplvalues.render" (dict "value" .Values.redis.lifecycleHooks "context" $) | nindent 12 }}
|
||||
{{- end }}
|
||||
@@ -288,7 +303,7 @@ spec:
|
||||
- name: REDIS_ALIAS
|
||||
value: {{ template "common.names.fullname" . }}
|
||||
- name: REDIS_ADDR
|
||||
value: {{ printf "%s://127.0.0.1:%g" (ternary "rediss" "redis" .Values.tls.enabled) .Values.redis.port | quote }}
|
||||
value: {{ printf "%s://127.0.0.1:%g" (ternary "rediss" "redis" .Values.tls.enabled) .Values.redis.containerPorts.redis | quote }}
|
||||
{{- if and .Values.usePassword (not .Values.usePasswordFile) }}
|
||||
- name: REDIS_PASSWORD
|
||||
valueFrom:
|
||||
@@ -407,6 +422,10 @@ spec:
|
||||
volumeClaimTemplates:
|
||||
- metadata:
|
||||
name: redis-data
|
||||
labels: {{- include "common.labels.matchLabels" . | nindent 10 }}
|
||||
{{- if .Values.persistence.annotations }}
|
||||
annotations: {{- include "common.tplvalues.render" (dict "value" .Values.persistence.annotations "context" $) | nindent 10 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
accessModes:
|
||||
{{- range .Values.persistence.accessModes }}
|
||||
@@ -428,14 +447,4 @@ spec:
|
||||
{{- end -}}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
updateStrategy:
|
||||
type: {{ .Values.statefulset.updateStrategy }}
|
||||
{{- if .Values.statefulset.rollingUpdatePartition }}
|
||||
{{- if (eq "Recreate" .Values.statefulset.updateStrategy) }}
|
||||
rollingUpdate: null
|
||||
{{- else }}
|
||||
rollingUpdate:
|
||||
partition: {{ .Values.statefulset.rollingUpdatePartition }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
@@ -18,11 +18,29 @@ metadata:
|
||||
{{- end }}
|
||||
spec:
|
||||
type: {{ .Values.service.type }}
|
||||
{{- if and .Values.service.clusterIP (eq .Values.service.type "ClusterIP") }}
|
||||
clusterIP: {{ .Values.service.clusterIP }}
|
||||
{{- end }}
|
||||
{{- if or (eq .Values.service.type "LoadBalancer") (eq .Values.service.type "NodePort") }}
|
||||
externalTrafficPolicy: {{ .Values.service.externalTrafficPolicy | quote }}
|
||||
{{- end }}
|
||||
{{- if and (eq .Values.service.type "LoadBalancer") .Values.service.loadBalancerSourceRanges }}
|
||||
loadBalancerSourceRanges: {{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- if and (eq "LoadBalancer" .Values.service.type) .Values.service.loadBalancerIP }}
|
||||
loadBalancerIP: {{ .Values.service.loadBalancerIP }}
|
||||
{{- end}}
|
||||
ports:
|
||||
- name: tcp-redis
|
||||
port: {{ .Values.service.port }}
|
||||
port: {{ .Values.service.ports.redis }}
|
||||
targetPort: tcp-redis
|
||||
protocol: TCP
|
||||
{{- if and (or (eq .Values.service.type "NodePort") (eq .Values.service.type "LoadBalancer")) (not (empty .Values.service.nodePorts.redis)) }}
|
||||
nodePort: {{ .Values.service.nodePorts.redis }}
|
||||
{{- else if eq .Values.service.type "ClusterIP" }}
|
||||
nodePort: null
|
||||
{{- end }}
|
||||
{{- if .Values.service.extraPorts }}
|
||||
{{- include "common.tplvalues.render" (dict "value" .Values.service.extraPorts "context" $) | nindent 4 }}
|
||||
{{- end }}
|
||||
selector: {{- include "common.labels.matchLabels" $ | nindent 4 }}
|
||||
|
||||
@@ -35,7 +35,7 @@ spec:
|
||||
targetPort: tcp-redis
|
||||
- name: tcp-redis-bus
|
||||
targetPort: tcp-redis-bus
|
||||
port: {{ $root.Values.redis.busPort }}
|
||||
port: {{ $root.Values.redis.containerPorts.bus }}
|
||||
selector: {{- include "common.labels.matchLabels" $ | nindent 4 }}
|
||||
statefulset.kubernetes.io/pod-name: {{ $targetPod }}
|
||||
---
|
||||
|
||||
@@ -102,6 +102,7 @@ networkPolicy:
|
||||
allowExternal: true
|
||||
ingressNSMatchLabels: {}
|
||||
ingressNSPodMatchLabels: {}
|
||||
|
||||
serviceAccount:
|
||||
## @param serviceAccount.create Specifies whether a ServiceAccount should be created
|
||||
##
|
||||
@@ -110,6 +111,13 @@ serviceAccount:
|
||||
## If not set and create is true, a name is generated using the fullname template
|
||||
##
|
||||
name: ""
|
||||
## @param serviceAccount.annotations Annotations for Cassandra Service Account
|
||||
##
|
||||
annotations: {}
|
||||
## @param serviceAccount.automountServiceAccountToken Automount API credentials for a service account.
|
||||
##
|
||||
automountServiceAccountToken: false
|
||||
|
||||
rbac:
|
||||
## @param rbac.create Specifies whether RBAC resources should be created
|
||||
##
|
||||
@@ -157,10 +165,12 @@ maxUnavailable: ""
|
||||
## Containers Security Context
|
||||
## @param containerSecurityContext.enabled Enable Containers' Security Context
|
||||
## @param containerSecurityContext.runAsUser User ID for the containers.
|
||||
## @param containerSecurityContext.runAsNonRoot Run container as non root
|
||||
##
|
||||
containerSecurityContext:
|
||||
enabled: true
|
||||
runAsUser: 1001
|
||||
runAsNonRoot: true
|
||||
## @param usePassword Use password authentication
|
||||
##
|
||||
usePassword: true
|
||||
@@ -212,9 +222,19 @@ tls:
|
||||
## Redis™ Service properties for standalone mode.
|
||||
##
|
||||
service:
|
||||
## @param service.port Kubernetes Service port
|
||||
## @param service.ports.redis Kubernetes Redis service port
|
||||
##
|
||||
port: 6379
|
||||
ports:
|
||||
redis: 6379
|
||||
## Node ports to expose
|
||||
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
|
||||
## @param service.nodePorts.redis Node port for Redis
|
||||
##
|
||||
nodePorts:
|
||||
redis: ""
|
||||
## @param service.extraPorts Extra ports to expose in the service (normally used with the `sidecar` value)
|
||||
##
|
||||
extraPorts: []
|
||||
## @param service.annotations 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
|
||||
@@ -228,9 +248,25 @@ service:
|
||||
## Currently supported types are ClusterIP (default) and LoadBalancer
|
||||
##
|
||||
type: ClusterIP
|
||||
## @param service.clusterIP Service Cluster IP
|
||||
## e.g.:
|
||||
## clusterIP: None
|
||||
##
|
||||
clusterIP: ""
|
||||
## @param service.loadBalancerIP Load balancer IP if `service.type` is `LoadBalancer`
|
||||
## If service.type is LoadBalancer, request a specific static IP address if supported by the cloud provider, otherwise leave blank
|
||||
loadBalancerIP: ""
|
||||
## @param service.loadBalancerSourceRanges Service Load Balancer sources
|
||||
## ref: https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service
|
||||
## e.g:
|
||||
## loadBalancerSourceRanges:
|
||||
## - 10.10.10.0/24
|
||||
##
|
||||
loadBalancerSourceRanges: []
|
||||
## @param service.externalTrafficPolicy Service external traffic policy
|
||||
## ref http://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
|
||||
##
|
||||
externalTrafficPolicy: Cluster
|
||||
## Enable persistence using Persistent Volume Claims
|
||||
## ref: http://kubernetes.io/docs/user-guide/persistent-volumes/
|
||||
##
|
||||
@@ -252,6 +288,9 @@ persistence:
|
||||
## GKE, AWS & OpenStack)
|
||||
##
|
||||
storageClass: ""
|
||||
## @param persistence.annotations Persistent Volume Claim annotations
|
||||
##
|
||||
annotations: {}
|
||||
## @param persistence.accessModes Persistent Volume Access Modes
|
||||
##
|
||||
accessModes:
|
||||
@@ -266,17 +305,7 @@ persistence:
|
||||
## @param persistence.matchExpressions matchExpressions Persistent Volume selectors
|
||||
##
|
||||
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:
|
||||
## @param statefulset.updateStrategy Update strategy for StatefulSet
|
||||
##
|
||||
updateStrategy: RollingUpdate
|
||||
## @param statefulset.rollingUpdatePartition Partition update strategy
|
||||
## https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#partitions
|
||||
##
|
||||
rollingUpdatePartition: ""
|
||||
|
||||
## Init containers parameters:
|
||||
## volumePermissions: Change the owner of the persist volume mountpoint to RunAsUser:fsGroup
|
||||
##
|
||||
@@ -335,6 +364,24 @@ redis:
|
||||
## @param redis.args Arguments for the provided command if needed
|
||||
##
|
||||
args: []
|
||||
## @param redis.updateStrategy.type Argo Workflows statefulset strategy type
|
||||
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies
|
||||
##
|
||||
updateStrategy:
|
||||
## StrategyType
|
||||
## Can be set to RollingUpdate or OnDelete
|
||||
##
|
||||
type: RollingUpdate
|
||||
## @param redis.updateStrategy.rollingUpdate.partition Partition update strategy
|
||||
## https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#partitions
|
||||
##
|
||||
rollingUpdate:
|
||||
partition: 0
|
||||
|
||||
## @param redis.podManagementPolicy Statefulset Pod management policy, it needs to be Parallel to be able to complete the cluster join
|
||||
## Ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#pod-management-policies
|
||||
##
|
||||
podManagementPolicy: Parallel
|
||||
## @param redis.hostAliases Deployment pod host aliases
|
||||
## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
|
||||
##
|
||||
@@ -345,9 +392,12 @@ redis:
|
||||
## ref: https://redis.io/topics/cluster-tutorial#creating-and-using-a-redis-cluster
|
||||
##
|
||||
useAOFPersistence: "yes"
|
||||
## @param redis.port Redis™ port
|
||||
## @param redis.containerPorts.redis Redis™ port
|
||||
## @param redis.containerPorts.bus The busPort should be obtained adding 10000 to the redisPort. By default: 10000 + 6379 = 16379
|
||||
##
|
||||
port: 6379
|
||||
containerPorts:
|
||||
redis: 6379
|
||||
bus: 16379
|
||||
## @param redis.lifecycleHooks LifecycleHook to set additional configuration before or after startup. Evaluated as a template
|
||||
##
|
||||
lifecycleHooks: {}
|
||||
@@ -363,6 +413,9 @@ redis:
|
||||
## @param redis.customReadinessProbe Override default readiness probe
|
||||
##
|
||||
customReadinessProbe: {}
|
||||
## @param redis.customStartupProbe Custom startupProbe that overrides the default one
|
||||
##
|
||||
customStartupProbe: {}
|
||||
## @param redis.initContainers Extra init containers to add to the deployment
|
||||
##
|
||||
initContainers: []
|
||||
@@ -456,6 +509,22 @@ redis:
|
||||
timeoutSeconds: 1
|
||||
successThreshold: 1
|
||||
failureThreshold: 5
|
||||
## @param redis.startupProbe.enabled Enable startupProbe
|
||||
## @param redis.startupProbe.path Path to check for startupProbe
|
||||
## @param redis.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
|
||||
## @param redis.startupProbe.periodSeconds Period seconds for startupProbe
|
||||
## @param redis.startupProbe.timeoutSeconds Timeout seconds for startupProbe
|
||||
## @param redis.startupProbe.failureThreshold Failure threshold for startupProbe
|
||||
## @param redis.startupProbe.successThreshold Success threshold for startupProbe
|
||||
##
|
||||
startupProbe:
|
||||
enabled: false
|
||||
path: /
|
||||
initialDelaySeconds: 300
|
||||
periodSeconds: 10
|
||||
timeoutSeconds: 5
|
||||
failureThreshold: 6
|
||||
successThreshold: 1
|
||||
## @param redis.podAffinityPreset Redis™ pod affinity preset. Ignored if `redis.affinity` is set. Allowed values: `soft` or `hard`
|
||||
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
|
||||
##
|
||||
@@ -501,9 +570,6 @@ redis:
|
||||
## The value is evaluated as a template
|
||||
##
|
||||
topologySpreadConstraints: []
|
||||
## @param redis.busPort The busPort should be obtained adding 10000 to the redisPort. By default: 10000 + 6379 = 16379
|
||||
##
|
||||
busPort: 16379
|
||||
|
||||
## @section Cluster update job parameters
|
||||
|
||||
@@ -730,6 +796,36 @@ metrics:
|
||||
## @param metrics.serviceMonitor.interval How frequently to scrape metrics (use by default, falling back to Prometheus' default)
|
||||
##
|
||||
interval: ""
|
||||
## @param metrics.serviceMonitor.scrapeTimeout Timeout after which the scrape is ended
|
||||
## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#endpoint
|
||||
## e.g:
|
||||
## scrapeTimeout: 10s
|
||||
##
|
||||
scrapeTimeout: ""
|
||||
## @param metrics.serviceMonitor.selector Prometheus instance selector labels
|
||||
## ref: https://github.com/bitnami/charts/tree/master/bitnami/prometheus-operator#prometheus-configuration
|
||||
## e.g:
|
||||
## selector:
|
||||
## prometheus: my-prometheus
|
||||
##
|
||||
selector: {}
|
||||
## @param metrics.serviceMonitor.labels ServiceMonitor extra labels
|
||||
##
|
||||
labels: {}
|
||||
## @param metrics.serviceMonitor.annotations ServiceMonitor annotations
|
||||
##
|
||||
annotations: {}
|
||||
## @param metrics.serviceMonitor.jobLabel The name of the label on the target service to use as the job name in prometheus.
|
||||
##
|
||||
jobLabel: ""
|
||||
## @param metrics.serviceMonitor.relabelings RelabelConfigs to apply to samples before scraping
|
||||
## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#relabelconfig
|
||||
##
|
||||
relabelings: []
|
||||
## @param metrics.serviceMonitor.metricRelabelings MetricRelabelConfigs to apply to samples before ingestion
|
||||
## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#relabelconfig
|
||||
##
|
||||
metricRelabelings: []
|
||||
## 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
|
||||
|
||||
Reference in New Issue
Block a user