- Elastic Cloud on Kubernetes:
- Overview
- Quickstart
- Upgrading the Elastic Stack version
- Deploying ECK on OpenShift
- Accessing Elastic Stack services
- Managing compute resources
- Running Elasticsearch on ECK
- Pod Template
- JVM heap size
- Node configuration
- Volume claim templates
- HTTP settings & TLS SANs
- Virtual memory
- Custom HTTP certificate
- Settings managed by ECK
- Secure settings
- Custom configuration files and plugins
- Init containers for plugin downloads
- Update strategy
- Pod disruption budget
- Nodes orchestration
- Advanced Elasticsearch node scheduling
- Create automated snapshots
- Readiness probe
- Pod PreStop hook
- Running Kibana on ECK
- Running APM Server on ECK
- Creating custom images
- Configuring ECK
- Service meshes
- Managing licenses in ECK
- Troubleshooting
- Upgrading ECK
- Uninstalling ECK
- Glossary
- API Reference
- Release highlights
- Release notes
Custom configuration files and plugins
editCustom configuration files and plugins
editTo run Elasticsearch with specific plugins or configuration files installed on ECK you have two options:
- Create a custom Docker image with the plugins or files pre-installed.
- Install the plugins or configuration files at Pod startup time.
The first option has the advantage that you can verify the correctness of the image before rolling it out to your ECK installation, while the second option gives you maximum flexibility. But the second option also means you might catch any errors only at runtime. Plugin installation at runtime has another drawback in that it needs access to the Internet from your cluster and downloads each plugin multiple times, once for each Elasticsearch node.
See Creating custom images for instructions on how to build custom Docker images based on the official Elastic images.
The following example describes option 2, using a repository plugin. To install the plugin before the Elasticsearch nodes start, use an init container to run the plugin installation tool.
spec: nodeSets: - name: default count: 3 podTemplate: spec: initContainers: - name: install-plugins command: - sh - -c - | bin/elasticsearch-plugin install --batch repository-azure
To install custom configuration files you can use volumes and volume mounts.
The next example shows how to add a synonyms file for the synonym token filter in Elasticsearch. But you can use the same approach for any kind of file you want to mount into the configuration directory of Elasticsearch.