[bitnami/elasticsearch] Unify and document production values

Signed-off-by: Carlos Rodriguez Hernandez <crhernandez@bitnami.com>
This commit is contained in:
Carlos Rodriguez Hernandez
2019-06-07 12:29:21 +00:00
parent f37e9a84d6
commit 4efd838f2f
4 changed files with 212 additions and 34 deletions

View File

@@ -1,6 +1,6 @@
apiVersion: v1
name: elasticsearch
version: 5.1.5
version: 5.1.6
appVersion: 7.1.1
description: A highly scalable open-source full-text search and analytics engine
keywords:

View File

@@ -114,7 +114,7 @@ The following table lists the configurable parameters of the Elasticsearch chart
| `coordinating.readinessProbe.successThreshold` | Minimum consecutive successes for the probe to be considered successful after having failed (coordinating-only nodes pod) | `1` |
| `coordinating.readinessProbe.failureThreshold` | Minimum consecutive failures for the probe to be considered failed after having succeeded | `5` |
| `data.name` | Data node pod name | `data` |
| `data.replicas` | Desired number of Elasticsearch data nodes nodes | `3` |
| `data.replicas` | Desired number of Elasticsearch data nodes | `3` |
| `data.updateStrategy.type` | Update strategy for Data statefulset | `RollingUpdate` |
| `data.updateStrategy.rollingUpdatePartition` | Partition update strategy for Data statefulset | `nil` |
| `data.heapSize` | Data node heap size | `1024m` |
@@ -197,6 +197,174 @@ $ helm install --name my-release -f values.yaml bitnami/elasticsearch
> **Tip**: You can use the default [values.yaml](values.yaml). [values-production.yaml](values-production.yaml) has defaults optimized for use in production environments.
### 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`:
- Desired number of Elasticsearch master-eligible nodes:
```diff
- master.replicas: 2
+ master.replicas: 3
```
- Enable the liveness probe (master-eligible nodes pod):
```diff
- master.livenessProbe.enabled: false
- # initialDelaySeconds: 90
- # periodSeconds: 10
- # timeoutSeconds: 5
- # successThreshold: 1
- # failureThreshold: 5
+ master.livenessProbe.enabled: true
+ initialDelaySeconds: 90
+ periodSeconds: 10
+ timeoutSeconds: 5
+ successThreshold: 1
+ failureThreshold: 5
```
- Enable the readiness probe (master-eligible nodes pod):
```diff
- master.readinessProbe.enabled: false
- # initialDelaySeconds: 90
- # periodSeconds: 10
- # timeoutSeconds: 5
- # successThreshold: 1
- # failureThreshold: 5
+ master.readinessProbe.enabled: true
+ initialDelaySeconds: 90
+ periodSeconds: 10
+ timeoutSeconds: 5
+ successThreshold: 1
+ failureThreshold: 5
```
- Desired number of Elasticsearch coordinating-only nodes:
```diff
- data.replicas: 2
+ data.replicas: 3
```
- Enable the liveness probe (coordinating-only nodes pod):
```diff
- coordinating.livenessProbe.enabled: false
- # initialDelaySeconds: 90
- # periodSeconds: 10
- # timeoutSeconds: 5
- # successThreshold: 1
- # failureThreshold: 5
+ coordinating.livenessProbe.enabled: true
+ initialDelaySeconds: 90
+ periodSeconds: 10
+ timeoutSeconds: 5
+ successThreshold: 1
+ failureThreshold: 5
```
- Enable the readiness probe (coordinating-only nodes pod):
```diff
- coordinating.readinessProbe.enabled: false
- # initialDelaySeconds: 90
- # periodSeconds: 10
- # timeoutSeconds: 5
- # successThreshold: 1
- # failureThreshold: 5
+ coordinating.readinessProbe.enabled: true
+ initialDelaySeconds: 90
+ periodSeconds: 10
+ timeoutSeconds: 5
+ successThreshold: 1
+ failureThreshold: 5
```
- Desired number of Elasticsearch data nodes:
```diff
- data.replicas: 2
+ data.replicas: 3
```
- Enable the liveness probe (data nodes pod):
```diff
- data.livenessProbe.enabled: false
- # initialDelaySeconds: 90
- # periodSeconds: 10
- # timeoutSeconds: 5
- # successThreshold: 1
- # failureThreshold: 5
+ data.livenessProbe.enabled: true
+ initialDelaySeconds: 90
+ periodSeconds: 10
+ timeoutSeconds: 5
+ successThreshold: 1
+ failureThreshold: 5
```
- Enable the readiness probe (data nodes pod):
```diff
- data.readinessProbe.enabled: false
- # initialDelaySeconds: 90
- # periodSeconds: 10
- # timeoutSeconds: 5
- # successThreshold: 1
- # failureThreshold: 5
+ data.readinessProbe.enabled: true
+ initialDelaySeconds: 90
+ periodSeconds: 10
+ timeoutSeconds: 5
+ successThreshold: 1
+ failureThreshold: 5
```
- Enable ingest nodes:
```diff
- ingest.enabled: false
+ ingest.enabled: true
```
- Desired number of Elasticsearch ingest nodes:
```diff
- data.replicas: 2
+ data.replicas: 3
```
- Enable the liveness probe (ingest nodes pod):
```diff
- ingest.livenessProbe.enabled: false
- # initialDelaySeconds: 90
- # periodSeconds: 10
- # timeoutSeconds: 5
- # successThreshold: 1
- # failureThreshold: 5
+ ingest.livenessProbe.enabled: true
+ initialDelaySeconds: 90
+ periodSeconds: 10
+ timeoutSeconds: 5
+ successThreshold: 1
+ failureThreshold: 5
```
- Enable the readiness probe (ingest nodes pod):
```diff
- ingest.readinessProbe.enabled: false
- # initialDelaySeconds: 90
- # periodSeconds: 10
- # timeoutSeconds: 5
- # successThreshold: 1
- # failureThreshold: 5
+ ingest.readinessProbe.enabled: true
+ initialDelaySeconds: 90
+ periodSeconds: 10
+ timeoutSeconds: 5
+ successThreshold: 1
+ failureThreshold: 5
```
- Enable 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.

View File

@@ -26,6 +26,25 @@ image:
# pullSecrets:
# - myRegistryKeySecretName
## Image that performs the sysctl operation
##
sysctlImage:
enabled: false
registry: docker.io
repository: bitnami/minideb
tag: latest
## 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: 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
## Elasticsearch cluster name
##
name: elastic
@@ -66,6 +85,9 @@ master:
annotations: {}
# loadBalancerIP:
## Provide annotations for the master pods.
podAnnotations: {}
## Configure resource requests and limits
## ref: http://kubernetes.io/docs/user-guide/compute-resources/
##
@@ -90,24 +112,10 @@ master:
successThreshold: 1
failureThreshold: 5
## Image that performs the sysctl operation
## Elasticsearch discovery node parameters
##
sysctlImage:
enabled: false
registry: docker.io
repository: bitnami/minideb
tag: latest
## 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
discovery:
name: discovery
## Pod Security Context
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
@@ -117,16 +125,11 @@ securityContext:
fsGroup: 1001
runAsUser: 1001
## Elasticsearch discovery node parameters
##
discovery:
name: discovery
## Elasticsearch coordinating-only node parameters
##
coordinating:
name: coordinating-only
replicas: 2
replicas: 3
heapSize: 128m
antiAffinity: "soft"
## node affinity
@@ -148,6 +151,9 @@ coordinating:
annotations: {}
# loadBalancerIP:
## Provide annotations for the coordinating pods.
podAnnotations: {}
## Configure resource requests and limits
## ref: http://kubernetes.io/docs/user-guide/compute-resources/
##
@@ -186,6 +192,8 @@ data:
antiAffinity: "soft"
## node affinity
# nodeAffinity:
## Provide annotations for the data pods.
podAnnotations: {}
## Configure resource requests and limits
## ref: http://kubernetes.io/docs/user-guide/compute-resources/
##
@@ -243,7 +251,7 @@ data:
ingest:
enabled: true
name: ingest
replicas: 2
replicas: 3
heapSize: 128m
antiAffinity: "soft"
## node affinity
@@ -265,6 +273,9 @@ ingest:
annotations: {}
# loadBalancerIP:
## Provide annotations for the ingest pods.
podAnnotations: {}
## Configure resource requests and limits
## ref: http://kubernetes.io/docs/user-guide/compute-resources/
##
@@ -303,11 +314,13 @@ metrics:
##
# pullSecrets:
# - myRegistryKeySecretName
## Provide annotations for the metrics pods.
podAnnotations: {}
annotations:
prometheus.io/scrape: "true"
prometheus.io/port: "9108"
service:
type: ClusterIP
resources: {}
# requests:
# cpu: 25m
resources:
# requests:
# cpu: 25m

View File

@@ -18,7 +18,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/
@@ -88,9 +88,6 @@ master:
## Provide annotations for the master pods.
podAnnotations: {}
## Configure resource requests and limits
## ref: http://kubernetes.io/docs/user-guide/compute-resources/
##
## Configure resource requests and limits
## ref: http://kubernetes.io/docs/user-guide/compute-resources/
##
@@ -310,7 +307,7 @@ metrics:
registry: docker.io
repository: bitnami/elasticsearch-exporter
tag: 1.0.2
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/