Type to search.

Node configuration

ECK

Elastic Cloud on Kubernetes extends Kubernetes orchestration capabilities to allow you to deploy and manage components of the Elastic Stack.

Availability

  • Generally available

    This functionality is generally available and ready for production usage.

This documentation corresponds to the latest patch available for each minor version. If you're not using the latest patch, check the release notes for changes.

Elasticsearch settings that are typically defined in the elasticsearch.yml configuration file can be specified for a set of nodes in the spec.nodeSets[?].config section of the Elasticsearch resource manifest.

Some settings are managed by ECK. It is not recommended to change these managed settings. For a complete list, refer to Settings managed by ECK.

YAML
spec:
  nodeSets:
  - name: masters
    count: 3
    config:
      node.roles: ["master"]
      xpack.ml.enabled: true
  - name: data
    count: 10
    config:
      node.roles: ["data", "ingest", "ml", "transform"]
Warning

ECK parses Elasticsearch configuration and normalizes it to YAML. Consequently, some Elasticsearch configuration schema are impossible to express with ECK and, therefore, must be set using dynamic cluster settings. For example:

YAML
spec:
  nodeSets:
  - name: data
    # ...
    config:
      cluster.max_shards_per_node: 1000
      cluster.max_shards_per_node.frozen: 1000
    # ...
  1. This won't work because cluster.max_shards_per_node is defined as a scalar value on the previous line

For more information on Elasticsearch settings, check Configuring Elasticsearch.