Init containers for plugin downloads

edit

You can install custom plugins before the Elasticsearch container starts with an initContainer. For example:

spec:
  nodeSets:
  - name: default
    count: 3
    podTemplate:
      spec:
        initContainers:
        - name: install-plugins
          command:
          - sh
          - -c
          - |
            bin/elasticsearch-plugin remove --purge analysis-icu
            bin/elasticsearch-plugin install --batch analysis-icu

You can also override the Elasticsearch container image to use your own image with the plugins already installed, as described in custom images. For more information on both these options, you can check the Create automated snapshots section and the Kubernetes documentation on init containers.

The init container inherits:

  • The image of the main container image, if one is not explicitly set.
  • The volume mounts from the main container unless a volume mount with the same name and mount path is present in the init container definition
  • The Pod name and IP address environment variables.