mirror of
https://github.com/bitnami/charts.git
synced 2026-03-10 06:57:55 +08:00
[bitnami/elasticsearch] Elasticsearch hpa (#6562)
* Added Elasticsearch HPAs * Updated elasticsearch chart version, added autoscaling to readme. Also tidied up the readme by splitting big table into groups * Update bitnami/elasticsearch/templates/master-hpa.yaml Co-authored-by: Alejandro Moreno <amorenoc@vmware.com> Co-authored-by: Alejandro Moreno <amorenoc@vmware.com>
This commit is contained in:
@@ -25,4 +25,4 @@ name: elasticsearch
|
||||
sources:
|
||||
- https://github.com/bitnami/bitnami-docker-elasticsearch
|
||||
- https://www.elastic.co/products/elasticsearch
|
||||
version: 15.2.4
|
||||
version: 15.3.0
|
||||
|
||||
@@ -52,19 +52,26 @@ $ helm delete --purge my-release
|
||||
|
||||
The following table lists the configurable parameters of the Elasticsearch chart and their default values.
|
||||
|
||||
### Global parameters
|
||||
|
||||
| Parameter | Description | Default |
|
||||
|---------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------|
|
||||
| `global.imageRegistry` | Global Docker image registry | `nil` |
|
||||
| `global.imagePullSecrets` | Global Docker registry secret names as an array | `[]` (does not add image pull secrets to deployed pods) |
|
||||
| `global.storageClass` | Global storage class for dynamic provisioning | `nil` |
|
||||
| `global.coordinating.name` | Coordinating-only node pod name at global level to be used also in the Kibana subchart | `coordinating-only` |
|
||||
|
||||
### Common parameters
|
||||
|
||||
| Parameter | Description | Default |
|
||||
|---------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------|
|
||||
| `image.registry` | Elasticsearch image registry | `docker.io` |
|
||||
| `image.repository` | Elasticsearch image repository | `bitnami/elasticsearch` |
|
||||
| `image.tag` | Elasticsearch image tag | `{TAG_NAME}` |
|
||||
| `image.pullPolicy` | Image pull policy | `IfNotPresent` |
|
||||
| `image.pullSecrets` | Specify docker-registry secret names as an array | `[]` (does not add image pull secrets to deployed pods) |
|
||||
| `nameOverride` | String to partially override common.names.fullname template with a string (will prepend the release name) | `nil` |
|
||||
| `fullnameOverride` | String to fully override common.names.fullname template with a string | `nil` |
|
||||
| `nameOverride` | String to partially override common.names.fullname template with a string (will prepend the release name) | `nil` |
|
||||
| `fullnameOverride` | String to fully override common.names.fullname template with a string | `nil` |
|
||||
| `name` | Elasticsearch cluster name | `elastic` |
|
||||
| `plugins` | Comma, semi-colon or space separated list of plugins to install at initialization | `nil` |
|
||||
| `snapshotRepoPath` | File System snapshot repository path | `nil` |
|
||||
@@ -77,6 +84,12 @@ The following table lists the configurable parameters of the Elasticsearch chart
|
||||
| `extraEnvVars` | Array containing extra env vars to be added to all pods (evaluated as a template) | `[]` |
|
||||
| `extraEnvVarsConfigMap` | ConfigMap containing extra env vars to be added to all pods (evaluated as a template) | `nil` |
|
||||
| `extraEnvVarsSecret` | Secret containing extra env vars to be added to all pods (evaluated as a template) | `nil` |
|
||||
| `clusterDomain` | Kubernetes cluster domain | `cluster.local` |
|
||||
|
||||
### Master parameters
|
||||
|
||||
| Parameter | Description | Default |
|
||||
|---------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------|
|
||||
| `master.name` | Master-eligible node pod name | `master` |
|
||||
| `master.replicas` | Desired number of Elasticsearch master-eligible nodes | `2` |
|
||||
| `master.updateStrategy.type` | Update strategy for Master statefulset | `RollingUpdate` |
|
||||
@@ -129,7 +142,16 @@ The following table lists the configurable parameters of the Elasticsearch chart
|
||||
| `master.readinessProbe.failureThreshold` | Minimum consecutive failures for the probe to be considered failed after having succeeded | `5` |
|
||||
| `master.serviceAccount.create` | Enable creation of ServiceAccount for the master node | `false` |
|
||||
| `master.serviceAccount.name` | Name of the created serviceAccount | Generated using the `elasticsearch.master.fullname` template |
|
||||
| `clusterDomain` | Kubernetes cluster domain | `cluster.local` |
|
||||
| `master.autoscaling.enabled` | Enable autoscaling for master replicas | `false` |
|
||||
| `master.autoscaling.minReplicas` | Minimum number of master replicas | `2` |
|
||||
| `master.autoscaling.maxReplicas` | Maximum number of master replicas | `11` |
|
||||
| `master.autoscaling.targetCPU` | Target CPU utilization percentage for master replica autoscaling | `nil` |
|
||||
| `master.autoscaling.targetMemory` | Target Memory utilization percentage for master replica autoscaling | `nil` |
|
||||
|
||||
### Coordinating parameters
|
||||
|
||||
| Parameter | Description | Default |
|
||||
|---------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------|
|
||||
| `coordinating.replicas` | Desired number of Elasticsearch coordinating-only nodes | `2` |
|
||||
| `coordinating.hostAliases` | Add deployment host aliases | `[]` |
|
||||
| `coordinating.updateStrategy.type` | Update strategy for Coordinating Deployment | `RollingUpdate` |
|
||||
@@ -173,6 +195,15 @@ The following table lists the configurable parameters of the Elasticsearch chart
|
||||
| `coordinating.readinessProbe.failureThreshold` | Minimum consecutive failures for the probe to be considered failed after having succeeded | `5` |
|
||||
| `coordinating.serviceAccount.create` | Enable creation of ServiceAccount for the coordinating-only node | `false` |
|
||||
| `coordinating.serviceAccount.name` | Name of the created serviceAccount | Generated using the `elasticsearch.coordinating.fullname` |
|
||||
| `coordinating.autoscaling.enabled` | Enable autoscaling for coordinating replicas | `false` |
|
||||
| `coordinating.autoscaling.minReplicas` | Minimum number of coordinating replicas | `2` |
|
||||
| `coordinating.autoscaling.maxReplicas` | Maximum number of coordinating replicas | `11` |
|
||||
| `coordinating.autoscaling.targetCPU` | Target CPU utilization percentage for coordinating replica autoscaling | `nil` |
|
||||
| `coordinating.autoscaling.targetMemory` | Target Memory utilization percentage for coordinating replica autoscaling | `nil` |
|
||||
### Data parameters
|
||||
|
||||
| Parameter | Description | Default |
|
||||
|---------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------|
|
||||
| `data.name` | Data node pod name | `data` |
|
||||
| `data.replicas` | Desired number of Elasticsearch data nodes | `2` |
|
||||
| `data.hostAliases` | Add deployment host aliases | `[]` |
|
||||
@@ -221,6 +252,16 @@ The following table lists the configurable parameters of the Elasticsearch chart
|
||||
| `data.readinessProbe.failureThreshold` | Minimum consecutive failures for the probe to be considered failed after having succeeded | `5` |
|
||||
| `data.serviceAccount.create` | Enable creation of ServiceAccount for the data node | `false` |
|
||||
| `data.serviceAccount.name` | Name of the created serviceAccount | Generated using the `elasticsearch.data.fullname` template |
|
||||
| `data.autoscaling.enabled` | Enable autoscaling for data replicas | `false` |
|
||||
| `data.autoscaling.minReplicas` | Minimum number of data replicas | `2` |
|
||||
| `data.autoscaling.maxReplicas` | Maximum number of data replicas | `11` |
|
||||
| `data.autoscaling.targetCPU` | Target CPU utilization percentage for data replica autoscaling | `nil` |
|
||||
| `data.autoscaling.targetMemory` | Target Memory utilization percentage for data replica autoscaling | `nil` |
|
||||
|
||||
### Ingest parameters
|
||||
|
||||
| Parameter | Description | Default |
|
||||
|---------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------|
|
||||
| `ingest.enabled` | Enable ingest nodes | `false` |
|
||||
| `ingest.name` | Ingest node pod name | `ingest` |
|
||||
| `ingest.replicas` | Desired number of Elasticsearch ingest nodes | `2` |
|
||||
@@ -263,6 +304,11 @@ The following table lists the configurable parameters of the Elasticsearch chart
|
||||
| `ingest.readinessProbe.timeoutSeconds` | When the probe times out (ingest nodes pod) | `5` |
|
||||
| `ingest.readinessProbe.successThreshold` | Minimum consecutive successes for the probe to be considered successful after having failed (ingest nodes pod) | `1` |
|
||||
| `ingest.readinessProbe.failureThreshold` | Minimum consecutive failures for the probe to be considered failed after having succeeded | `5` |
|
||||
|
||||
### Curator parameters
|
||||
|
||||
| Parameter | Description | Default |
|
||||
|---------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------|
|
||||
| `curator.enabled` | Enable Elasticsearch Curator cron job | `false` |
|
||||
| `curator.name` | Elasticsearch Curator pod name | `curator` |
|
||||
| `curator.image.registry` | Elasticsearch Curator image registry | `docker.io` |
|
||||
@@ -303,6 +349,11 @@ The following table lists the configurable parameters of the Elasticsearch chart
|
||||
| `curator.envFromSecrets` | Environment variables from secrets to the cronjob container | `{}` |
|
||||
| `curator.envFromSecrets.*.from.secret` | - `secretKeyRef.name` used for environment variable | |
|
||||
| `curator.envFromSecrets.*.from.key` | - `secretKeyRef.key` used for environment variable | |
|
||||
|
||||
### Metrics parameters
|
||||
|
||||
| Parameter | Description | Default |
|
||||
|---------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------|
|
||||
| `metrics.enabled` | Enable prometheus exporter | `false` |
|
||||
| `metrics.name` | Metrics pod name | `metrics` |
|
||||
| `metrics.extraArgs` | Extra arguments to add to the default exporter command | `[]` |
|
||||
@@ -329,12 +380,22 @@ The following table lists the configurable parameters of the Elasticsearch chart
|
||||
| `metrics.serviceMonitor.interval` | Interval at which metrics should be scraped. | `nil` (Prometheus Operator default value) |
|
||||
| `metrics.serviceMonitor.scrapeTimeout` | Timeout after which the scrape is ended | `nil` (Prometheus Operator default value) |
|
||||
| `metrics.serviceMonitor.selector` | Prometheus instance selector labels | `nil` |
|
||||
|
||||
### Sysctl Image parameters
|
||||
|
||||
| Parameter | Description | Default |
|
||||
|---------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------|
|
||||
| `sysctlImage.enabled` | Enable kernel settings modifier image | `true` |
|
||||
| `sysctlImage.registry` | Kernel settings modifier image registry | `docker.io` |
|
||||
| `sysctlImage.repository` | Kernel settings modifier image repository | `bitnami/bitnami-shell` |
|
||||
| `sysctlImage.tag` | Kernel settings modifier image tag | `"10"` |
|
||||
| `sysctlImage.pullPolicy` | Kernel settings modifier image pull policy | `Always` |
|
||||
| `sysctlImage.resources` | Init container resource requests/limit | `requests: {}, limits: {}` |
|
||||
|
||||
### VolumePermissions parameters
|
||||
|
||||
| Parameter | Description | Default |
|
||||
|---------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------|
|
||||
| `volumePermissions.enabled` | Enable init container that changes volume permissions in the data directory (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 name | `bitnami/bitnami-shell` |
|
||||
|
||||
35
bitnami/elasticsearch/templates/coordinating-hpa.yaml
Normal file
35
bitnami/elasticsearch/templates/coordinating-hpa.yaml
Normal file
@@ -0,0 +1,35 @@
|
||||
{{- if .Values.coordinating.autoscaling.enabled }}
|
||||
apiVersion: autoscaling/v2beta1
|
||||
kind: HorizontalPodAutoscaler
|
||||
metadata:
|
||||
name: {{ include "elasticsearch.coordinating.fullname" . }}
|
||||
namespace: {{ .Release.Namespace | quote }}
|
||||
labels: {{- include "common.labels.standard" . | nindent 4 }}
|
||||
app.kubernetes.io/component: coordinating-only
|
||||
{{- 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 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
scaleTargetRef:
|
||||
apiVersion: {{ template "common.capabilities.deployment.apiVersion" . }}
|
||||
kind: Deployment
|
||||
name: {{ include "elasticsearch.coordinating.fullname" . }}
|
||||
minReplicas: {{ .Values.coordinating.autoscaling.minReplicas }}
|
||||
maxReplicas: {{ .Values.coordinating.autoscaling.maxReplicas }}
|
||||
metrics:
|
||||
{{- if .Values.coordinating.autoscaling.targetCPU }}
|
||||
- type: Resource
|
||||
resource:
|
||||
name: cpu
|
||||
targetAverageUtilization: {{ .Values.coordinating.autoscaling.targetCPU }}
|
||||
{{- end }}
|
||||
{{- if .Values.coordinating.autoscaling.targetMemory }}
|
||||
- type: Resource
|
||||
resource:
|
||||
name: memory
|
||||
targetAverageUtilization: {{ .Values.coordinating.autoscaling.targetMemory }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
35
bitnami/elasticsearch/templates/data-hpa.yaml
Normal file
35
bitnami/elasticsearch/templates/data-hpa.yaml
Normal file
@@ -0,0 +1,35 @@
|
||||
{{- if .Values.data.autoscaling.enabled }}
|
||||
apiVersion: autoscaling/v2beta1
|
||||
kind: HorizontalPodAutoscaler
|
||||
metadata:
|
||||
name: {{ include "elasticsearch.data.fullname" . }}
|
||||
namespace: {{ .Release.Namespace | quote }}
|
||||
labels: {{- include "common.labels.standard" . | nindent 4 }}
|
||||
app.kubernetes.io/component: data
|
||||
{{- 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 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
scaleTargetRef:
|
||||
apiVersion: {{ template "common.capabilities.statefulset.apiVersion" . }}
|
||||
kind: StatefulSet
|
||||
name: {{ include "elasticsearch.data.fullname" . }}
|
||||
minReplicas: {{ .Values.data.autoscaling.minReplicas }}
|
||||
maxReplicas: {{ .Values.data.autoscaling.maxReplicas }}
|
||||
metrics:
|
||||
{{- if .Values.data.autoscaling.targetCPU }}
|
||||
- type: Resource
|
||||
resource:
|
||||
name: cpu
|
||||
targetAverageUtilization: {{ .Values.data.autoscaling.targetCPU }}
|
||||
{{- end }}
|
||||
{{- if .Values.data.autoscaling.targetMemory }}
|
||||
- type: Resource
|
||||
resource:
|
||||
name: memory
|
||||
targetAverageUtilization: {{ .Values.data.autoscaling.targetMemory }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
35
bitnami/elasticsearch/templates/master-hpa.yaml
Normal file
35
bitnami/elasticsearch/templates/master-hpa.yaml
Normal file
@@ -0,0 +1,35 @@
|
||||
{{- if .Values.master.autoscaling.enabled }}
|
||||
apiVersion: autoscaling/v2beta1
|
||||
kind: HorizontalPodAutoscaler
|
||||
metadata:
|
||||
name: {{ include "elasticsearch.master.fullname" . }}
|
||||
namespace: {{ .Release.Namespace | quote }}
|
||||
labels: {{- include "common.labels.standard" . | nindent 4 }}
|
||||
app.kubernetes.io/component: master
|
||||
{{- 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 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
scaleTargetRef:
|
||||
apiVersion: {{ template "common.capabilities.statefulset.apiVersion" . }}
|
||||
kind: StatefulSet
|
||||
name: {{ include "elasticsearch.master.fullname" . }}
|
||||
minReplicas: {{ .Values.master.autoscaling.minReplicas }}
|
||||
maxReplicas: {{ .Values.master.autoscaling.maxReplicas }}
|
||||
metrics:
|
||||
{{- if .Values.master.autoscaling.targetCPU }}
|
||||
- type: Resource
|
||||
resource:
|
||||
name: cpu
|
||||
targetAverageUtilization: {{ .Values.master.autoscaling.targetCPU }}
|
||||
{{- end }}
|
||||
{{- if .Values.master.autoscaling.targetMemory }}
|
||||
- type: Resource
|
||||
resource:
|
||||
name: memory
|
||||
targetAverageUtilization: {{ .Values.master.autoscaling.targetMemory }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
@@ -384,6 +384,14 @@ master:
|
||||
## The name of the ServiceAccount to use.
|
||||
## If not set and create is true, a name is generated using the fullname template
|
||||
# name:
|
||||
## Autoscaling configuration
|
||||
##
|
||||
autoscaling:
|
||||
enabled: false
|
||||
minReplicas: 2
|
||||
maxReplicas: 11
|
||||
# targetCPU: 50
|
||||
# targetMemory: 50
|
||||
|
||||
## Elasticsearch coordinating-only node parameters
|
||||
##
|
||||
@@ -543,6 +551,14 @@ coordinating:
|
||||
## If not set and create is true, a name is generated using the fullname template
|
||||
##
|
||||
# name:
|
||||
## Autoscaling configuration
|
||||
##
|
||||
autoscaling:
|
||||
enabled: false
|
||||
minReplicas: 2
|
||||
maxReplicas: 11
|
||||
# targetCPU: 50
|
||||
# targetMemory: 50
|
||||
|
||||
## Elasticsearch data node parameters
|
||||
##
|
||||
@@ -722,7 +738,14 @@ data:
|
||||
## If not set and create is true, a name is generated using the fullname template
|
||||
##
|
||||
# name:
|
||||
|
||||
## Autoscaling configuration
|
||||
##
|
||||
autoscaling:
|
||||
enabled: false
|
||||
minReplicas: 2
|
||||
maxReplicas: 11
|
||||
# targetCPU: 50
|
||||
# targetMemory: 50
|
||||
## Elasticsearch ingest node parameters
|
||||
##
|
||||
ingest:
|
||||
|
||||
Reference in New Issue
Block a user