Manage Elastic Stack Versions

Elastic Cloud Enterprise ships with a number of different versions of the Elastic Stack containing Elasticsearch and Kibana. Periodically, you might need to manage Elastic Stack versions for one of the following reasons:

  • To add new versions of the Elastic Stack as they become available
  • To obtain information about existing Elastic Stack versions
  • To update existing versions of the Elastic Stack

New or updated versions of the Elastic Stack must be prepared to work with Elastic Cloud Enterprise and are provided as packs that you can download.

The following packs containing Elastic Stack versions are available:

Elastic Stack packContains

5.5.0

Elasticsearch and Kibana version 5.5.0

5.4.3

Elasticsearch and Kibana version 5.4.3

5.4.2

Elasticsearch and Kibana version 5.4.2

5.4.1

Elasticsearch and Kibana version 5.4.1

5.4.0

Elasticsearch and Kibana version 5.4.0

2.4.5

Elasticsearch version 2.4.5 and Kibana version 4.6.4

Tip

For offline or air-gapped installations, additional steps are required to add Elastic Stack packs, as these packs do not contain any Docker images. After downloading an Elastic Stack pack, you also need to pull and load the required Docker images. The stack.json file in each pack can tell you which Docker images you need. To learn more about pulling and loading Docker images, see Install ECE (Without Internet Access).

Before you begin

The examples shown all use HTTPS over port 12443, which requires that you have a TLS certificate configured. Alternatively, you can specify the -k option to turn off certificate verification or use HTTP over port 12400.

Get Elastic Stack Information

You can obtain information about existing Elastic Stack versions that are available in your installation through the Cloud UI or through the command line.

To obtain information about available Elastic Stack versions through the Cloud UI:

  1. Log into the Cloud UI.
  2. Go to Platform, select a Elastic Cloud Enterprise installation and click Elastic Stack.

    The available Elastic Stack versions are shown. More detailed information about Docker images, plugins, and related Kibana versions are also available for each Elasticsearch version.

To obtain information about available Elastic Stack versions through the command line:

curl -X GET -u USER:PASSWORD https://COORDINATOR_HOST:12443/api/v1/stack/versions

The root user

The password for the user

A host that you installed Elastic Cloud Enterprise on that holds the coordinator role, such as a host where you can log into the Cloud UI

For example (output abridged for brevity):

curl -X GET -u root:4Z52y8Gq7PrxMDy47ipJPSh4ozBMynOGa9HWxcy2D3j https://10.56.12.153:12443/api/v1/stack/versions
{
  "stacks": [
    {
      "version": "2.4.5",
      "template": {
        "template_version": "",
        "hashes": []
      },
      "elasticsearch": {
        "docker_image": "docker.elastic.co/cloud-enterprise/elasticsearch:2.4.5-0",
        "plugins": [
          "graph",
          "analysis-icu",
          "analysis-kuromoji",
          "analysis-smartcn",
          "analysis-stempel",
          "analysis-phonetic",
          "watcher",
          "mapper-attachments",
          "delete-by-query"
        ],
        "default_plugins": [
          "found-elasticsearch",
          "cloud-aws",
          "found-license-plugin",
          "shield",
          "marvel-agent"
        ...
        ]
      }
    },
    {
      "version": "5.2.2",
      "template": {
        "template_version": "",
        "hashes": []
      },
      "elasticsearch": {
        "docker_image": "docker.elastic.co/cloud-enterprise/elasticsearch:5.2.2-0",
        "plugins": [
          "analysis-icu",
          "analysis-kuromoji",
          "analysis-smartcn",
          "analysis-stempel",
          "analysis-phonetic",
          "mapper-attachments",
          "ingest-attachment",
          "ingest-geoip",
          "ingest-user-agent"
        ],
        "default_plugins": [
          "repository-s3",
          "found-elasticsearch",
          "x-pack"
        ...
        ]
      }
    }
  ]
}

You can also query for a specific version with a URI such as https://COORDINATOR_HOST:12443/api/v1/stack/versions/5.3.2, for example.

Add Elastic Stack Packs

You can add new Elastic Stack packs to your installation through the Elastic Cloud Enterprise installation script or through the RESTful API.

To add a new Elastic Stack pack through the Elastic Cloud Enterprise installation script from the command line:

  1. Log into a host running Elastic Cloud Enterprise.
  2. Add the Elastic Stack pack with the add-stack-version action:

    ./elastic-cloud-enterprise.sh add-stack-version --version X.Y.Z --user USER --pass PASSWORD

    A supported Elastic Stack version, such as 5.4.0

    The root user

    The password for the user

    For example:

    bash elastic-cloud-enterprise.sh add-stack-version --version 5.4.0 --user root --pass pGX5DwKzVAAIeCIpTwwAkCuJDu0ASdFP33UmYpfogfF

To add a new Elastic Stack pack through the RESTful API from the command line:

  1. Download the pack on an internet-connected host from Elastic and make it available locally.
  2. Add the Elastic Stack pack with the following API call:

    curl -X POST -u USER:PASSWORD https://COORDINATOR_HOST:12443/api/v1/stack/versions \
    -H 'content-type: application/zip' \
    --data-binary "@PATH/STACK_PACK_FILE"

    The root user

    The password for the user

    A host that you installed Elastic Cloud Enterprise on that holds the coordinator role, such as a host where you can log into the Cloud UI

    The local path and the new Elastic Stack pack .zip file

    For example:

    curl -X POST -u root:pGX5DwKzVAAIeCIpTwwAkCuJDu0ASdFP33UmYpfogfF https://10.56.12.153:12443/api/v1/stack/versions \
    -H 'content-type: application/zip' \
    --data-binary "@/Users/iuriitceretian/Documents/stacks/5.4.0.zip"

Update Elastic Stack Packs

Updating an Elastic Stack pack might become necessary if an Elastic Stack version has been updated with security fixes, for example. You can update an existing Elastic Stack version through the command line.

Updated versions of Elasticsearch and Kibana are used when you create new clusters, but they are not automatically applied to already running clusters. To update existing Elasticsearch clusters and Kibana after an updated Elastic Stack pack has been added, you need to change the cluster configuration.

To update Elastic Stack packs through the RESTful API from the command line:

  1. Download an updated pack on an internet-connected host from Elastic and make it available locally.
  2. Update the Elastic Stack pack with the following API call:

    curl -X PUT -u USER:PASSWORD https://COORDINATOR_HOST:12443/api/v1/stack/versions \
    -H 'content-type: application/zip' \
    --data-binary "@PATH/STACK_PACK_FILE"

    The root user

    The password for the user

    A host that you installed Elastic Cloud Enterprise on that holds the coordinator role, such as a host where you can log into the Cloud UI

    The local path and the updated Elastic Stack pack .zip file

    For example:

    curl -X PUT -u root:pGX5DwKzVAAIeCIpTwwAkCuJDu0ASdFP33UmYpfogfF https://10.56.12.153:12443/api/v1/stack/versions \
    -H 'content-type: application/octet-stream' \
    --data-binary "@/Users/iuriitceretian/Documents/stacks/5.4.0.zip"