Loading

Add plugins and configuration files in Elastic Cloud on Kubernetes

On Elastic Cloud on Kubernetes, Elasticsearch runs in Kubernetes pods. Plugins must be present on disk before the main Elasticsearch container starts. Configuration files such as synonym dictionaries, scripts, or SAML metadata can also be made available in the configuration directory.

Elastic Cloud on Kubernetes does not use bundles (the ZIP-based extension workflow in Elastic Cloud Hosted and Elastic Cloud Enterprise). Instead, you choose how to supply plugins and configuration files based on whether you need reproducibility, runtime network access, or standard Kubernetes mounts.

Refer to Plugins and bundles for options that apply to other deployment types.

Use a custom image or init containers when you need plugins. Prefer ConfigMaps or Secrets when you only need configuration files.

Build a custom image from the official Elastic image with the required plugins and configuration files already included. Refer to Create a custom image.

  • Pros
    • Deployment is reproducible and reusable.
    • Does not require internet access at runtime.
    • Saves bandwidth and is quicker to start.
  • Cons
    • Requires a container registry and build infrastructure to build and host the custom image.
    • Version upgrades require building a new container image.

Run elasticsearch-plugin install in an init container before the main Elasticsearch container starts. Refer to Init containers for plugin downloads.

  • Pros
    • Simpler to adopt and to upgrade versions.
  • Cons
    • Requires pods to have internet access. When using Istio, see the Istio note.
    • Adding new Elasticsearch nodes could randomly fail due to network issues or bad configuration.
    • Each Elasticsearch node needs to repeat the download, wasting bandwidth and slowing startup.
    • Deployment manifests are more complicated.

Mount configuration files into your Elasticsearch nodes with volumes and volume mounts. Refer to Use a volume and volume mount together with a ConfigMap or Secret.

  • Pros
    • Best choice for injecting configuration files into your Elasticsearch nodes.
    • Follows standard Kubernetes methodology to mount files into Pods.
  • Cons
    • Not valid for plugin installation. Mounting plugin ZIP files does not run elasticsearch-plugin install, so Elasticsearch will not load them.
    • Requires you to maintain the ConfigMaps or Secrets with the content of the files.

To run Kibana with additional plugins, use a custom container image that already includes them. Refer to Install Kibana plugins.