diff --git a/bitnami/elasticsearch/Chart.yaml b/bitnami/elasticsearch/Chart.yaml index d54b243c9..d330e66d5 100644 --- a/bitnami/elasticsearch/Chart.yaml +++ b/bitnami/elasticsearch/Chart.yaml @@ -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: diff --git a/bitnami/elasticsearch/README.md b/bitnami/elasticsearch/README.md index 625aae3a5..a621d261a 100644 --- a/bitnami/elasticsearch/README.md +++ b/bitnami/elasticsearch/README.md @@ -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. diff --git a/bitnami/elasticsearch/values-production.yaml b/bitnami/elasticsearch/values-production.yaml index 52ff6fe56..4085ad02a 100644 --- a/bitnami/elasticsearch/values-production.yaml +++ b/bitnami/elasticsearch/values-production.yaml @@ -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 diff --git a/bitnami/elasticsearch/values.yaml b/bitnami/elasticsearch/values.yaml index 1b2ff50f9..7ab1b26b6 100644 --- a/bitnami/elasticsearch/values.yaml +++ b/bitnami/elasticsearch/values.yaml @@ -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/