Use your organization's container registry

When using your organization's container registry with ArcGIS Enterprise on Kubernetes, you must prepare it with the Esri container images prior to new deployments, updates, or upgrades. To do so, you can use the registry tools that are included with the software to push Esri's Docker Hub images in your organization's container registry.

Note:

To use the methods described below, you will need to download and extract the ArcGIS Enterprise on Kubernetes deployment scripts on each client workstation involved in transferring the container images.

Understand registry tools

The ArcGIS Enterprise on Kubernetes deployment package includes a set of tools that are used to transfer images to your organization's container registry.

These tools are found under tools/registry-tools in the directory where you extracted the deployment package and include the following:

  • image-download.sh—Downloads all of the ArcGIS Enterprise on Kubernetes Docker images from a specified Docker registry or repository to a local folder as .tar.gz archives. It uses the docker save command to create the archives.
  • image-upload.sh—Uploads images that were downloaded by image-download.sh to the specified registry. It uses the docker load command to extract the archives.
  • image-transfer.sh—Transfers images directly between two registries. This is faster than using image-download.sh and image-upload.sh if the client workstation can access both registries.
  • create-offline-manifest.sh—Import a version manifest using the Admin API. This will override the external manifest URL defined in arcgis-enterprise.properties and allow offline users access to updates and upgrades.

More information is available in the Readme.md within the registry-tools folder.

Note:

It is recommended that you use the same version of the deployment scripts when transferring images to your organization's registry. To prepare for an upgrade, download the new version of the deployment scripts to get the latest images.

Prepare your registry when the client machine has access to Docker Hub and your organization's registry

If your client machine has access to Docker Hub and your organization's registry, you can prepare your registry for a new deployment, update, or upgrade by using the image-transfer.sh script.

To transfer images, complete the following steps:

  1. From My Esri, obtain the software version of ArcGIS Enterprise on Kubernetes that you intend to deploy.
  2. Download and extract the deployment scripts to your client machine.
  3. If your registry requires you to pre-create the image repositories, for example in Amazon Elastic Container Registry (ECR), run the following command to get a list of required image repositories:
    /setup/tools/registry-tools/image-transfer.sh -l
    
  4. Identify the corresponding version tag for the software release you intend to deploy by referring to the release notes or by running the following command to view the available image tags:

    /setup/tools/registry-tools/image-transfer.sh -s
    

  5. Use the image-transfer.sh script to transfer the container images from Docker Hub to your organization's registry.

    Refer to image-transfer.sh -h for more information.

  6. Run the deployment script to deploy ArcGIS Enterprise on Kubernetes.

Prepare your registry when your organization's registry is disconnected from the internet

If your organization's registry is disconnected from the internet, you can prepare your registry for a new deployment, update, or upgrade by using the image-download.sh and image-upload.sh scripts.

To do so, complete the following steps:

  1. From My Esri, obtain the software version of ArcGIS Enterprise on Kubernetes that you intend to deploy.
  2. Download and extract the deployment scripts to the client machine running the download script and the client machine running the upload script.
  3. If your registry requires you to pre-create the image repositories, for example in Amazon Elastic Container Registry (ECR), run the following command to get a list of required image repositories:
    /setup/tools/registry-tools/image-download.sh -l
    
  4. Identify the corresponding version tag for the software release you intend to deploy by referring to the release notes or by running the following command to view the available image tags:

    /setup/tools/registry-tools/image-download.sh -s
    

  5. Use the image-download.sh script to download the container images to your client machine.

    Refer to image-download.sh -h for more information.

    Note:

    After the image-download.sh tool completes, the images still exist within the container runtime cache. To free up space after it has completed successfully, it's recommended to clean up items not needed in the Docker cache. You can do this by running docker system prune or docker image rm.

  6. Follow your organization's processes for moving images to your disconnected client machine.

    This machine must have access to your private registry.

  7. On your private client machine, use the image-upload.sh script to upload container images into your organization's container registry.
    Note:

    After the image-upload.sh tool completes, the images still exist within the container runtime cache. To free up space after it has completed successfully, it's recommended to clean up items not needed in the Docker cache. You can do this by running docker system prune or docker image rm.

  8. Run the deployment script to deploy ArcGIS Enterprise on Kubernetes.