Install ECE (Without Internet Access)

This section applies to you if you want to install Elastic Cloud Enterprise on hosts without internet access, commonly referred to as an offline or air-gapped installation. Installing offline requires that you first download the installation images and installation script from Elastic and make them available somewhere locally before starting the installation process. If you plan to use one, you should also have set up your wildcard DNS record already.

You start setting up a new Elastic Cloud Enterprise installation by installing the software on your first host. This first host becomes the initial coordinator and provides access to the Cloud UI, where you can manage your installation. You then install Elastic Cloud Enterprise on additional hosts to add them as resources to an existing installation.

Not sure what your Elastic Cloud Enterprise installation should look like? Check our topology recommendations.

Before you begin

To run the installation script, a user must be part of the docker group. You should not install Elastic Cloud Enterprise as the root user.

Some additional requirements also apply to offline installations:

  • The Elasticsearch and Kibana images that you use during the installation process must be prepared to work with Elastic Cloud Enterprise. All images from docker.elastic.co/cloud-enterprise are suitable. You should not try to substitute other images, unless guided by someone from Elastic.
  • The Elasticsearch and Kibana images you use must be compatible with each other. For versions before 5.0, refer to the Support Matrix to see which versions of can be used together. For version 5.0 and later, the versioning of Elasticsearch and Kibana is synchronized and versions where the major, minor, and patch levels match can be used together. Differences in build versions indicated by a dash do not affect compatibility. For example, Elasticsearch 5.1.2-2 can be used with Kibana 5.1.2.
  • If you plan to use your own Docker registry server, you need to adapt these steps to your own environment. Specifically, you need to perform some additional steps not covered here to push the images to a registry server that is accessible from the hosts that you plan to install Elastic Cloud Enterprise on. When invoking the installation script, include the --repository REPOSITORY_NAME parameter, where REPOSITORY_NAME is the name of the Docker registry server that you pushed the images to. To learn more, see Deploying a registry server in the Docker documentation.

The following images are available for offline installation:

Elastic Cloud EnterpriseTag

docker.elastic.co/cloud-enterprise/elastic-cloud-enterprise

1.0.2

Elastic StackStack VersionTagShipped With

docker.elastic.co/cloud-assets/elasticsearch

5.6.3

5.6.3-0

Not applicable

docker.elastic.co/cloud-assets/kibana

5.6.3

5.6.3-0

Not applicable

docker.elastic.co/cloud-assets/elasticsearch

5.6.2

5.6.2-0

Not applicable

docker.elastic.co/cloud-assets/kibana

5.6.2

5.6.2-0

Not applicable

docker.elastic.co/cloud-assets/elasticsearch

5.6.1

5.6.1-0

Not applicable

docker.elastic.co/cloud-assets/kibana

5.6.1

5.6.1-0

Not applicable

docker.elastic.co/cloud-assets/elasticsearch

5.5.3

5.5.3-0

Not applicable

docker.elastic.co/cloud-assets/kibana

5.5.3

5.5.3-0

Not applicable

docker.elastic.co/cloud-assets/elasticsearch

5.5.2

5.5.2-0

Not applicable

docker.elastic.co/cloud-assets/kibana

5.5.2

5.5.2-0

Not applicable

docker.elastic.co/cloud-assets/elasticsearch

5.5.1

5.5.1-1

Not applicable

docker.elastic.co/cloud-assets/kibana

5.5.1

5.5.1-0

Not applicable

docker.elastic.co/cloud-assets/elasticsearch

5.5.0

5.5.0-0

Not applicable

docker.elastic.co/cloud-assets/kibana

5.5.0

5.5.0-0

Not applicable

docker.elastic.co/cloud-assets/elasticsearch

5.4.3

5.4.3-0

Not applicable

docker.elastic.co/cloud-assets/kibana

5.4.3

5.4.3-0

Not applicable

docker.elastic.co/cloud-assets/elasticsearch

5.4.2

5.4.2-0

Not applicable

docker.elastic.co/cloud-assets/kibana

5.4.2

5.4.2-0

Not applicable

docker.elastic.co/cloud-assets/elasticsearch

5.4.1

5.4.1-2

ECE 1.0.1, ECE 1.0.2

docker.elastic.co/cloud-assets/kibana

5.4.1

5.4.1-2

ECE 1.0.1, ECE 1.0.2

docker.elastic.co/cloud-assets/elasticsearch

5.4.0

5.4.0-3

ECE 1.0.0

docker.elastic.co/cloud-assets/kibana

5.4.0

5.4.0-1

ECE 1.0.0

docker.elastic.co/cloud-assets/elasticsearch

2.4.6

2.4.6-0

ECE 1.0.2

docker.elastic.co/cloud-assets/kibana

2.4.6

4.6.5-0

ECE 1.0.2

docker.elastic.co/cloud-assets/elasticsearch

2.4.5

2.4.5-1

ECE 1.0.1, ECE 1.0.0

docker.elastic.co/cloud-assets/kibana

2.4.5

4.6.4-0

ECE 1.0.1, ECE 1.0.0

Tip

Shipped With indicates if an Elastic Stack version was shipped with a version of Elastic Cloud Enterprise. For offline installations, you need to download the Elastic Stack versions that were originally shipped with the version of ECE that you are installing. If no ECE version is listed, the Elastic Stack version can still be used in offline installations, but you might also need to download the correct Elastic Stack pack. To learn more, see Manage Elastic Stack Versions.

To perform an offline installation:

  1. On an internet-connected host, download the installation script:

    curl -L -O https://download.elastic.co/cloud/elastic-cloud-enterprise.sh
  2. Copy the installation script to each host where you plan to install Elastic Cloud Enterprise or make it available on your network.
  3. On an internet-connected host, pull the Docker images required by the installation script. For example, for Elastic Cloud Enterprise 1.0.2 and the Elastic Stack versions it shipped with, you need:

    • Elastic Cloud Enterprise 1.0.2
    • Elasticsearch 5.4.1-2 and Kibana 5.4.1-2
    • Elasticsearch 2.4.5-1 and Kibana 4.6.4-0

    To pull the images:

    docker pull docker.elastic.co/cloud-enterprise/elastic-cloud-enterprise:1.0.2
    docker pull docker.elastic.co/cloud-assets/elasticsearch:5.4.1-2
    docker pull docker.elastic.co/cloud-assets/elasticsearch:2.4.5-1
    docker pull docker.elastic.co/cloud-assets/kibana:5.4.1-2
    docker pull docker.elastic.co/cloud-assets/kibana:4.6.4-0
    Tip

    Sometimes, images are replaced with newer builds, which are indicated by a dash. In this example, you need to pull Elasticsearch 5.4.1-2.

  4. Verify that the images have been pulled (some of the details, such as size and image ID, may differ when you run this command):

    docker images
    REPOSITORY                                                    TAG                 IMAGE ID            CREATED             SIZE
    docker.elastic.co/cloud-enterprise/elastic-cloud-enterprise   1.0.2         e477f62f14e7        4 days ago          547.1 MB
    docker.elastic.co/cloud-assets/elasticsearch              5.4.1-2             14d18b0676ff        10 days ago         1.169 GB
    docker.elastic.co/cloud-assets/elasticsearch              2.4.5-1             f19d395f6016        11 days ago         914.5 MB
    docker.elastic.co/cloud-assets/kibana                     4.6.4-0               72254a092199        11 days ago         1.063 GB
    docker.elastic.co/cloud-assets/kibana                     5.4.1-2              a6b1e3ece095        11 days ago         830.9 MB
  5. Create .tar files of the images:

    docker save -o ece.1.0.2.tar docker.elastic.co/cloud-enterprise/elastic-cloud-enterprise:1.0.2
    docker save -o es.5.4.1-2.tar docker.elastic.co/cloud-assets/elasticsearch:5.4.1-2
    docker save -o es.2.4.5-1.tar docker.elastic.co/cloud-assets/elasticsearch:2.4.5-1
    docker save -o kibana.5.4.1-2.tar docker.elastic.co/cloud-assets/kibana:5.4.1-2
    docker save -o kibana.4.6.4-0.tar docker.elastic.co/cloud-assets/kibana:4.6.4-0

    After the images have been saved, you should should end up with .tar files in your local file system.

  6. Copy the .tar files to a location on your network where they are available to each host where you plan to install Elastic Cloud Enterprise. Alternatively, you can copy the .tar files to each host directly.
  7. On each host, load the images into Docker, replacing FILE_PATH with the correct path to the .tar files:

    docker load < FILE_PATH/ece.1.0.2.tar
    docker load < FILE_PATH/es.5.4.1-2.tar
    docker load < FILE_PATH/es.2.4.5-1.tar
    docker load < FILE_PATH/kibana.5.4.1-2.tar
    docker load < FILE_PATH/kibana.4.6.4-0.tar
  8. Verify that the images have been loaded and are tagged correctly (some of the details, such as size and image ID, may differ when you run this command):

    docker images
    REPOSITORY                                                    TAG                 IMAGE ID            CREATED             SIZE
    docker.elastic.co/cloud-enterprise/elastic-cloud-enterprise   1.0.2         e477f62f14e7        4 days ago          547.1 MB
    docker.elastic.co/cloud-assets/elasticsearch              5.4.1-2             14d18b0676ff        10 days ago         1.169 GB
    docker.elastic.co/cloud-assets/elasticsearch              2.4.5-1             f19d395f6016        11 days ago         914.5 MB
    docker.elastic.co/cloud-assets/kibana                     4.6.4-0               72254a092199        11 days ago         1.063 GB
    docker.elastic.co/cloud-assets/kibana                     5.4.1-2               a6b1e3ece095        11 days ago         830.9 MB
  9. Invoke the installation script on each host:

    On the first host:

    bash elastic-cloud-enterprise.sh install

    On additional hosts, replacing HOST_IP with the IP address of the first host that you installed on:

    bash elastic-cloud-enterprise.sh install --coordinator-host HOST_IP

    If you are creating a larger Elastic Cloud Enterprise installation that needs to be fault tolerant or highly available, include the --availability-zone ZONE_NAME parameter to specify the name of an availability zone for the additional host, which determines which failure domain the host should belong to. Hosts should go into three different availability zones for production systems. For example, invoking the installation script with bash elastic-cloud-enterprise.sh install --coordinator-host 192.168.50.10 --availability-zone ece-region-1c adds the new host to an existing Elastic Cloud Enterprise installation where the first host has the IP address 192.168.50.10 and places the additional host into availability zone ece-region-1c.

  10. Optional: Remove the .tar files after installation.