Customize Pods
editCustomize Pods
editYou can customize the Pods created for each Elastic stack application by modifying the respective podTemplate
field in the manifest. Pod templates allow you to define labels, annotations, environment variables, volume mounts, and other custom configuration settings that are then merged with the default Pod configuration generated by ECK to produce the final Pod definition that gets deployed to the Kubernetes cluster.
The following example illustrates how to add a custom label, annotation, and an environment variable using the podTemplate
field.
Elasticsearch.
apiVersion: elasticsearch.k8s.elastic.co/v1 kind: Elasticsearch metadata: name: quickstart spec: version: 8.17.0 nodeSets: - name: default count: 1 podTemplate: metadata: labels: my.custom.domain/label: "label-value" annotations: my.custom.domain/annotation: "annotation-value" spec: containers: - name: elasticsearch env: - name: ES_JAVA_OPTS value: "-Xms4g -Xmx4g"
Kibana.
apiVersion: kibana.k8s.elastic.co/v1 kind: Kibana metadata: name: quickstart spec: version: 8.17.0 count: 1 podTemplate: metadata: labels: my.custom.domain/label: "label-value" annotations: my.custom.domain/annotation: "annotation-value" spec: containers: - name: kibana env: - name: LOGGING_VERBOSE value: "true"
Configuration for other Elastic stack applications, like APM Server, Enterprise Search or Beats, is identical to the Kibana configuration except for the apiVersion
and kind
fields.
The example below shows how it’s also possible to customize the init containers created as part of the Pods to initialize the filesystem or to manage the keystores.
apiVersion: elasticsearch.k8s.elastic.co/v1 kind: Elasticsearch metadata: name: quickstart spec: version: 8.17.0 nodeSets: - name: default count: 3 podTemplate: spec: initContainers: - name: elastic-internal-init-keystore resources: # override the default resources set by the operator limits: cpu: 1000m memory: 368Mi requests: cpu: 1000m memory: 368Mi secureSettings: - secretName: es-secret
More examples
editFor further information: