diff --git a/stable/redis/Chart.yaml b/stable/redis/Chart.yaml index ad344e90ed..6192e4ecc3 100644 --- a/stable/redis/Chart.yaml +++ b/stable/redis/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v1 name: redis -version: 8.0.7 +version: 8.0.8 appVersion: 5.0.5 description: Open source, advanced key-value store. It is often referred to as a data structure server since keys can contain strings, hashes, lists, sets and sorted sets. keywords: diff --git a/stable/redis/README.md b/stable/redis/README.md index 945a07ab99..9fa41f3cc8 100644 --- a/stable/redis/README.md +++ b/stable/redis/README.md @@ -124,7 +124,7 @@ The following table lists the configurable parameters of the Redis chart and the | `image.registry` | Redis Image registry | `docker.io` | | `image.repository` | Redis Image name | `bitnami/redis` | | `image.tag` | Redis Image tag | `{TAG_NAME}` | -| `image.pullPolicy` | Image pull policy | `Always` | +| `image.pullPolicy` | Image pull policy | `IfNotPresent` | | `image.pullSecrets` | Specify docker-registry secret names as an array | `nil` | | `cluster.enabled` | Use master-slave topology | `true` | | `cluster.slaveCount` | Number of slaves | `1` | @@ -203,7 +203,7 @@ The following table lists the configurable parameters of the Redis chart and the | `volumePermissions.image.registry` | Init container volume-permissions image registry | `docker.io` | | `volumePermissions.image.repository` | Init container volume-permissions image name | `bitnami/minideb` | | `volumePermissions.image.tag` | Init container volume-permissions image tag | `latest` | -| `volumePermissions.image.pullPolicy` | Init container volume-permissions image pull policy | `IfNotPresent` | +| `volumePermissions.image.pullPolicy` | Init container volume-permissions image pull policy | `Always` | | `volumePermissions.resources ` | Init container volume-permissions CPU/Memory resource requests/limits | {} | | `slave.service.type` | Kubernetes Service type (redis slave) | `ClusterIP` | | `slave.service.nodePort` | Kubernetes Service nodePort (redis slave) | `nil` | @@ -271,7 +271,7 @@ The following table lists the configurable parameters of the Redis chart and the | `sentinel.image.registry` | Redis Sentinel Image registry | `docker.io` | | `sentinel.image.repository` | Redis Sentinel Image name | `bitnami/redis-sentinel` | | `sentinel.image.tag` | Redis Sentinel Image tag | `{TAG_NAME}` | -| `sentinel.image.pullPolicy` | Image pull policy | `Always` | +| `sentinel.image.pullPolicy` | Image pull policy | `IfNotPresent` | | `sentinel.image.pullSecrets` | Specify docker-registry secret names as an array | `nil` | | `sysctlImage.enabled` | Enable an init container to modify Kernel settings | `false` | | `sysctlImage.command` | sysctlImage command to execute | [] | @@ -302,6 +302,32 @@ $ helm install --name my-release -f values.yaml stable/redis > **Note for minikube users**: Current versions of minikube (v0.24.1 at the time of writing) provision `hostPath` persistent volumes that are only writable by root. Using chart defaults cause pod failure for the Redis pod as it attempts to write to the `/bitnami` directory. Consider installing Redis with `--set persistence.enabled=false`. See minikube issue [1990](https://github.com/kubernetes/minikube/issues/1990) for more information. +### Production configuration + +This chart includes a `values-production.yaml` file where you can find some parameters oriented to production configuration in comparison to the regular `values.yaml`. + +```console +$ helm install --name my-release -f ./values-production.yaml stable/redis +``` + +- Number of slaves: +```diff +- cluster.slaveCount: 2 ++ cluster.slaveCount: 3 +``` + +- Enable NetworkPolicy: +```diff +- networkPolicy.enabled: false ++ networkPolicy.enabled: true +``` + +- Start a side-car prometheus exporter: +```diff +- metrics.enabled: false ++ metrics.enabled: true +``` + ### [Rolling VS Immutable tags](https://docs.bitnami.com/containers/how-to/understand-rolling-tags-containers/) It is strongly recommended to use immutable tags in a production environment. This ensures your deployment does not change automatically if the same tag is updated with a different image. diff --git a/stable/redis/ci/production-sentinel-values.yaml b/stable/redis/ci/production-sentinel-values.yaml index aef8038b4c..dbd72c33a6 100644 --- a/stable/redis/ci/production-sentinel-values.yaml +++ b/stable/redis/ci/production-sentinel-values.yaml @@ -58,7 +58,7 @@ sentinel: ## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent' ## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images ## - pullPolicy: Always + 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/ @@ -483,7 +483,7 @@ volumePermissions: registry: docker.io repository: bitnami/minideb tag: latest - pullPolicy: IfNotPresent + 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/ diff --git a/stable/redis/ci/production-values.yaml b/stable/redis/ci/production-values.yaml index 95e55c1488..24b7c9399a 100644 --- a/stable/redis/ci/production-values.yaml +++ b/stable/redis/ci/production-values.yaml @@ -58,7 +58,7 @@ sentinel: ## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent' ## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images ## - pullPolicy: Always + 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/ @@ -483,7 +483,7 @@ volumePermissions: registry: docker.io repository: bitnami/minideb tag: latest - pullPolicy: IfNotPresent + 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/ diff --git a/stable/redis/values-production.yaml b/stable/redis/values-production.yaml index f42d8f32e7..99d009de73 100644 --- a/stable/redis/values-production.yaml +++ b/stable/redis/values-production.yaml @@ -29,12 +29,6 @@ image: # pullSecrets: # - myRegistryKeySecretName -## Redis pod Security Context -securityContext: - enabled: true - fsGroup: 1001 - runAsUser: 1001 - ## Cluster settings cluster: enabled: true @@ -58,7 +52,7 @@ sentinel: ## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent' ## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images ## - pullPolicy: Always + 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/ @@ -115,6 +109,10 @@ sentinel: annotations: {} loadBalancerIP: +## Specifies the Kubernetes Cluster's Domain Name. +## +clusterDomain: cluster.local + networkPolicy: ## Specifies whether a NetworkPolicy should be created ## @@ -153,6 +151,11 @@ rbac: # - gce.unprivileged rules: [] +## Redis pod Security Context +securityContext: + enabled: true + fsGroup: 1001 + runAsUser: 1001 ## Use password authentication usePassword: true @@ -167,7 +170,7 @@ password: ## Mount secrets as files instead of environment variables usePasswordFile: false -## Persist data to a persistent volume +## Persist data to a persistent volume (Redis Master) persistence: {} ## A manually managed Persistent Volume and Claim ## Requires persistence.enabled: true @@ -300,7 +303,6 @@ master: ## Redis Master pod priorityClassName # priorityClassName: {} - ## ## Redis Slave properties ## Note: service.type is a mandatory parameter @@ -327,7 +329,6 @@ slave: ## Redis slave port port: 6379 - ## Can be used to specify command line arguments, for example: ## command: "/run.sh" @@ -366,6 +367,22 @@ slave: # memory: 256Mi # cpu: 100m + ## Redis 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 slave pod Annotation and Labels + podLabels: {} + podAnnotations: {} + + ## Redis slave pod priorityClassName + # priorityClassName: {} + ## Enable persistence using Persistent Volume Claims ## ref: http://kubernetes.io/docs/user-guide/persistent-volumes/ ## @@ -397,22 +414,6 @@ slave: ## https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#partitions # rollingUpdatePartition: - ## Redis 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 slave pod Annotation and Labels - podLabels: {} - podAnnotations: {} - - ## Redis slave pod priorityClassName - # priorityClassName: {} - ## Prometheus Exporter / Metrics ## metrics: @@ -483,7 +484,7 @@ volumePermissions: registry: docker.io repository: bitnami/minideb tag: latest - pullPolicy: IfNotPresent + 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/ diff --git a/stable/redis/values.yaml b/stable/redis/values.yaml index cc14ee9bbe..7a9a1bdfbf 100644 --- a/stable/redis/values.yaml +++ b/stable/redis/values.yaml @@ -21,7 +21,7 @@ image: ## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent' ## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images ## - pullPolicy: Always + 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/ @@ -52,7 +52,7 @@ sentinel: ## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent' ## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images ## - pullPolicy: Always + 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/ @@ -303,7 +303,6 @@ master: ## Redis Master pod priorityClassName # priorityClassName: {} - ## ## Redis Slave properties ## Note: service.type is a mandatory parameter @@ -485,7 +484,7 @@ volumePermissions: registry: docker.io repository: bitnami/minideb tag: latest - pullPolicy: IfNotPresent + 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/