With your private Docker registryedit

Installing ECE on multiple hosts with your own registry server is simpler, because you do not have to load the Docker images on each host.

  1. Set up your private Docker registry. To learn more, check Deploy a registry server.

    As part of the ECE high availability strategy, it’s a good idea to make sure that your Docker registry server is available to all ECE allocators, so that it can continue to be accessed in the event of a network partition or zone outage. Allocators attempting to start instances requiring Docker images that have not yet been pulled from a custom Docker registry will fail to start if the registry is unavailable.

  2. On an internet-connected host that has Docker installed, download the Available Docker Images and push them to your private Docker registry. Note that for ECE version 3.0, if you want to use Elastic Stack version 8.0 in your deployments, you need to download and make available both the version 7.x and version 8.x Docker images.

    docker pull docker.elastic.co/cloud-enterprise/elastic-cloud-enterprise:3.3.0
    docker pull docker.elastic.co/cloud-assets/elasticsearch:7.17.5-0
    docker pull docker.elastic.co/cloud-assets/kibana:7.17.5-0
    docker pull docker.elastic.co/cloud-assets/apm:7.17.5-0
    docker pull docker.elastic.co/cloud-assets/enterprise-search:7.17.5-0
    docker pull docker.elastic.co/cloud-release/elasticsearch-cloud-ess:8.3.2
    docker pull docker.elastic.co/cloud-release/kibana-cloud:8.3.2
    docker pull docker.elastic.co/cloud-release/elastic-agent-cloud:8.3.2
    docker pull docker.elastic.co/cloud-release/enterprise-search-cloud:8.3.2

    For example, for Elastic Cloud Enterprise 3.3.0 and the Elastic Stack versions it shipped with, you need:

    • Elastic Cloud Enterprise 3.3.0
    • Elasticsearch 8.3.2, Kibana 8.3.2, APM 8.3.2, and Enterprise Search 8.3.2
  3. Tag the Docker images with your private registry, where REGISTRY is my.private.repo:5000, for example:

    docker tag docker.elastic.co/cloud-enterprise/elastic-cloud-enterprise:3.3.0 REGISTRY/cloud-enterprise/elastic-cloud-enterprise:3.3.0
    docker tag docker.elastic.co/cloud-assets/elasticsearch:7.17.5-0 REGISTRY/cloud-assets/elasticsearch:7.17.5-0
    docker tag docker.elastic.co/cloud-assets/kibana:7.17.5-0 REGISTRY/cloud-assets/kibana:7.17.5-0
    docker tag docker.elastic.co/cloud-assets/apm:7.17.5-0 REGISTRY/cloud-assets/apm:7.17.5-0
    docker tag docker.elastic.co/cloud-assets/enterprise-search:7.17.5-0 REGISTRY/cloud-assets/enterprise-search:7.17.5-0
    docker tag docker.elastic.co/cloud-release/elasticsearch-cloud-ess:8.3.2 REGISTRY/cloud-release/elasticsearch-cloud-ess:8.3.2
    docker tag docker.elastic.co/cloud-release/kibana-cloud:8.3.2 REGISTRY/cloud-release/kibana-cloud:8.3.2
    docker tag docker.elastic.co/cloud-release/elastic-agent-cloud:8.3.2 REGISTRY/cloud-release/elastic-agent-cloud:8.3.2
    docker tag docker.elastic.co/cloud-release/enterprise-search-cloud:8.3.2 REGISTRY/cloud-release/enterprise-search-cloud:8.3.2
  4. Push the Docker images to your private Docker registry, where REGISTRY is my.private.repo:5000, for example:

    docker push REGISTRY/cloud-enterprise/elastic-cloud-enterprise:3.3.0
    docker push REGISTRY/cloud-assets/elasticsearch:7.17.5-0
    docker push REGISTRY/cloud-assets/kibana:7.17.5-0
    docker push REGISTRY/cloud-assets/apm:7.17.5-0
    docker push REGISTRY/cloud-assets/enterprise-search:7.17.5-0
    docker push REGISTRY/cloud-release/elasticsearch-cloud-ess:8.3.2
    docker push REGISTRY/cloud-release/kibana-cloud:8.3.2
    docker push REGISTRY/cloud-release/elastic-agent-cloud:8.3.2
    docker push REGISTRY/cloud-release/enterprise-search-cloud:8.3.2
  5. On an internet-connected host, download the installation script:

    curl -L -O https://download.elastic.co/cloud/elastic-cloud-enterprise.sh
  6. Copy the installation script to each host where you plan to install Elastic Cloud Enterprise. (Alternatively, you can place the installation script in a secure network location where your other hosts can access it.)
  7. Invoke the installation script on each host with the --docker-registry REGISTRY parameter, where REGISTRY is my.private.repo:5000, for example:

    1. On the first host:

      bash elastic-cloud-enterprise.sh install
        --docker-registry REGISTRY
    2. On additional hosts, include the --coordinator-host HOST_IP and --roles-token 'TOKEN' parameters provided to you when you installed on the first host, along with the --docker-registry REGISTRY parameter:

      bash elastic-cloud-enterprise.sh install
        --coordinator-host HOST_IP
        --roles-token 'TOKEN'
        --docker-registry REGISTRY