Используйте реестр контейнеров вашей организации

При использовании реестра контейнеров организации с ArcGIS Enterprise on Kubernetes необходимо подготовить его вместе с образами контейнеров Esri перед развертыванием, обновлением или повышением версии. Для этого можно использовать инструменты реестра, входящие в комплект программного обеспечения, для внесения образов Docker Hub Esri в реестр контейнеров вашей организации.

Изучите инструменты реестра

Пакет развертывания ArcGIS Enterprise on Kubernetes включает в себя набор инструментов, которые используются для переноса образов в реестр контейнеров организации.

Эти инструменты находятся в /setup/tools/registry-tools в директории, куда был извлечен пакет развертывания, и включают следующее:

  • image-download.sh - загружает все образы контейнеров на указанное устройство хранения в виде архивов .tar.gz.
  • image-upload.sh - используется для выгрузки образов контейнеров с указанного запоминающего устройства в реестр контейнеров.
  • image-transfer.sh — Передает образы непосредственно между двумя реестрами. Это быстрее, чем использование image-download.sh и image-upload.sh, если клиентская рабочая станция может получить доступ к обоим реестрам.
  • create-offline-manifest.sh - загружает манифест версии и импортирует его в вашу организацию, предоставляя автономный доступ к обновлениям.

Папка registry-tools также содержит файл registry-tools.properties.template. Этот файл свойств шаблона можно использовать с инструментами image-download.sh, image-upload.sh и image-transfer.sh. Обратитесь к файлу Readme.md в этой папке для получения дополнительной информации о файле свойств и инструментах реестра.

Подготовьте свой реестр, когда клиентский компьютер получит доступ к Docker Hub и реестру вашей организации

Если на вашем клиентском компьютере есть доступ к Docker Hub и реестру вашей организации, можно подготовить реестр к новому развертыванию или обновлению с помощью инструмента image-transfer.sh.

Выполните следующие шаги:

  1. С портала My Esri получите версию программного обеспечения ArcGIS Enterprise on Kubernetes, которую собираетесь развернуть.
  2. Скачайте и извлеките скрипты развертывания на свой клиентский компьютер.

    Чтобы подготовиться к обновлению, загрузите новую версию скриптов развертывания, чтобы получить последние образы.

  3. Откройте терминал и измените директории на /setup/tools/registry-tools.
  4. Если в вашем реестре требуется предварительное создание репозиториев образов, например, в Amazon Elastic Container Registry (ECR), выполните следующую команду, чтобы получить список необходимых репозиториев образов:
    ./image-transfer.sh -l
    
  5. Получите соответствующую информацию о версии:
    • При подготовке к новому развертыванию, определите соответствующий тег версии для версии программного обеспечения, которую вы собираетесь развернуть, обратившись к информации по версии или выполнив следующую команду, чтобы просмотреть доступные теги образа:
      ./image-transfer.sh -s
      

      Эти теги вы будете использовать при указании свойства DOWNLOAD_TAGS.

    • При подготовке к повышению версии или обновлению определите текущую версию вашей организации, которая объединяет версию и сборку. Чтобы найти эту информацию, войдите в ArcGIS Enterprise Manager, прокрутите страницу Обзор до конца и щелкните Об этой организации.

      Например, для версии 11.4.0 и сборки 6144 CURRENT_VERSION будет 11.4.0.6144.

  6. Используйте шаблон, расположенный в папке registry-tools, или создайте отдельный файл свойств и включите в него следующие параметры:
    DOWNLOAD_REGISTRY="docker.io/esridocker"
    DOWNLOAD_USER="<username>"
    DOWNLOAD_PASS="<password>"
    CURRENT_VERSION="<current_version_tag>"
    DOWNLOAD_TAGS="<version_tag>"
    UPLOAD_REGISTRY="<registry_host>/<repository_prefix>"
    UPLOAD_USER="<username>"
    UPLOAD_PASS="<password>"
    UPLOAD_TAGS="<version_tag>"
    DOWNLOAD_DIR="</path/to/download/directory>"
    ENCRYPTION_KEYFILE="</path/to/keyfile.txt>"
    

    Для получения подробной информации о некоторых из этих свойств просмотрите следующее:

    • CURRENT_VERSION — Текущая версия вашей организации, определенная на шаге 5, используемая при подготовке к обновлениям и повышениям версии. При подготовке к новому развертыванию это свойство будет пропущено.
    • DOWNLOAD_TAGS и UPLOAD_TAGS — Используется для новых развертываний. При подготовке к обновлениям или повышениям версий эти свойства будут пропущены.
    • UPLOAD_REGISTRY — Реестр контейнеров, в который вы будете загружать образы. Укажите хост реестра и, если применимо, префикс репозитория, связанный с вашим реестром. Хост реестра – это полное доменное имя хоста реестра контейнеров. Префикс репозитория — это репозиторий образов, используемый для хранения образов контейнеров.
    • ENCRYPTION_KEYFILE — ключевой файл шифрования представляет собой обычный текстовый файл, используемый для шифрования и дешифрования паролей алгоритмом AES-256. Содержимое этого файла представляет собой заданный вами текст и не должно содержать паролей. Этот файл должен оставаться в одном и том же месте, а его содержимое не должно изменяться, например:
      $ echo 'My Encryption Text!' >> </path/to/keyfile.txt>
      
  7. Запустите скрипт, используя команду, соответствующую вашему рабочему процессу:
    • Подготовка к новому развертыванию
      ./image-transfer.sh -f </path/to/properties/file>
      
    • Подготовка к обновлению
      ./image-transfer.sh -f </path/to/properties/file> --update
      
    • Подготовка к повышению версии
      ./image-transfer.sh -f </path/to/properties/file> --upgrade
      

    Для получения подробной информации о связанных флагах просмотрите следующее:

    • --update — переносит образы контейнеров, необходимые для применения последнего обновления.
    • --upgrade — переносит образы контейнеров, необходимые для повышения до последней версии ArcGIS Enterprise on Kubernetes.
    • --view — используйте с --update или --upgrade для просмотра накопленного списка образов без загрузки.
    Поскольку скрипт переносит несколько образов в ваш реестр контейнеров, его выполнение займет некоторое время. Если перенос прервется, запустите скрипт еще раз.

    Подсказка:

    После завершения работы инструмента image_transfer.sh образы по-прежнему сохраняются в кэше среды выполнения контейнера. Чтобы освободить место после успешного завершения, рекомендуется очистить кэш Docker от ненужных элементов. Можно сделать это, запустив docker system prune или docker image rm.

Подготовьте свой реестр, отключенный от интернета

Если реестр вашей организации отключен от Интернета, можно подготовить реестр к новому развертыванию или обновлению с помощью инструментов image-download.sh и image-upload.sh.

Выполните следующие шаги:

  1. С портала My Esri получите версию программного обеспечения ArcGIS Enterprise on Kubernetes, которую собираетесь развернуть.
  2. Скачайте и извлеките скрипты развертывания на клиентский компьютер, запускающий инструмент скачивания, и на клиентский компьютер, запускающий инструмент загрузки.

    Рекомендуется использовать одинаковые версии скриптов развертывания. Чтобы подготовиться к обновлению, загрузите новую версию скриптов развертывания, чтобы получить последние образы.

  3. На клиентском компьютере, запускающим инструмент скачивания, откройте терминал и измените директории на /setup/tools/registry-tools.
  4. Если в вашем реестре требуется предварительное создание репозиториев образов, например, в Amazon Elastic Container Registry (ECR), выполните следующую команду, чтобы получить список необходимых репозиториев образов:
    ./image-download.sh -l
    
  5. Получите соответствующую информацию о версии:
    • При подготовке к новому развертыванию, определите соответствующий тег версии для версии программного обеспечения, которую вы собираетесь развернуть, обратившись к информации по версии или выполнив следующую команду, чтобы просмотреть доступные теги образа:
      ./image-download.sh -s
      

      Эти теги вы будете использовать при указании свойства DOWNLOAD_TAGS.

    • При подготовке к повышению версии или обновлению определите текущую версию вашей организации, которая объединяет версию и сборку. Чтобы найти эту информацию, войдите в ArcGIS Enterprise Manager, прокрутите страницу Обзор до конца и щелкните Об этой организации.

      Например, для версии 11.4.0 и сборки 6144 CURRENT_VERSION будет 11.4.0.6144.

  6. Если вы подготавливаетесь к новому развертыванию и не используете файл свойств, запустите инструмент image-download.sh, используя команду в следующем формате:
    ./image-download.sh -r docker.io/esridocker -u <username> -p <password> -d </path/to/download/directory> -t <version_tag>
    
  7. Если вы используете файл свойств, примените шаблон, расположенный в registry-tools, или создайте отдельный файл свойств и включите в него следующие параметры:
    DOWNLOAD_REGISTRY="docker.io/esridocker"
    DOWNLOAD_USER="<username>"
    DOWNLOAD_PASS="<password>"
    CURRENT_VERSION="<current_version_tag>"
    DOWNLOAD_TAGS="<version_tag>"
    DOWNLOAD_DIR="</path/to/download/directory>"
    ENCRYPTION_KEYFILE="</path/to/keyfile.txt>"
    

    Для получения подробной информации о некоторых из этих свойств просмотрите следующее:

    • CURRENT_VERSION — Текущая версия вашей организации, определенная на шаге 5, используемая при подготовке к обновлениям и повышениям версии. При подготовке к новому развертыванию это свойство будет пропущено.
    • DOWNLOAD_TAGS — Используется для новых развертываний. При подготовке к обновлениям или повышениям версий это свойство будет пропущено.
    • ENCRYPTION_KEYFILE — Ключевой файл шифрования представляет собой обычный текстовый файл, используемый для шифрования и дешифрования паролей алгоритмом AES-256. Содержимое этого файла представляет собой заданный вами текст и не должно содержать паролей. Этот файл должен оставаться в одном и том же месте, а его содержимое не должно изменяться, например:
      $ echo 'My Encryption Text!' >> </path/to/keyfile.txt>
      
    1. Запустите скрипт, используя команду, соответствующую вашему рабочему процессу:
      • Подготовка к новому развертыванию
        ./image-download.sh -f </path/to/properties/file>
        
      • Подготовка к обновлению
        ./image-download.sh -f </path/to/properties/file> --update
        
      • Подготовка к повышению версии
        ./image-download.sh -f </path/to/properties/file> --upgrade
        

      Для получения подробной информации о связанных флагах просмотрите следующее:

      • --update — переносит образы контейнеров, необходимые для применения последнего обновления.
      • --upgrade — переносит образы контейнеров, необходимые для повышения до последней версии ArcGIS Enterprise on Kubernetes.
      • --view — используйте с --update или --upgrade для просмотра накопленного списка образов без загрузки.

      Поскольку скрипт загружает несколько образов из репозитория Esri, его работа занимает некоторое время. Если загрузка прервется, запустите скрипт еще раз.

      Подсказка:
      После завершения работы инструмента image_download.sh образы по-прежнему сохраняются в кэше среды выполнения контейнера. Чтобы освободить место после успешного завершения, рекомендуется очистить кэш Docker от ненужных элементов. Можно сделать это, запустив docker system prune или docker image rm.

  8. Следуйте процессам вашей организации по перемещению образов на ваш отключенный клиентский компьютер.

    Этот компьютер должен иметь доступ к вашему частному реестру.

  9. На клиентском компьютере с доступом к реестру контейнеров, откройте терминал и измените директории на /setup/tools/registry-tools.
  10. Если вы не используете файл свойств, запустите инструмент image-upload.sh, используя команду в следующем формате:
    ./image-upload.sh -r <registry_host>/<repository_prefix> -u <username> -p <password> -d </path/to/download/directory> -t <version_tag>
    
  11. Если вы используете файл свойств, примените шаблон, расположенный в registry-tools, или создайте отдельный файл свойств и включите в него следующие параметры:
    UPLOAD_REGISTRY="<registry_host>/<repository_prefix>"
    UPLOAD_USER="<username>"
    UPLOAD_PASS="<password>"
    UPLOAD_TAGS="<version_tag>"
    DOWNLOAD_DIR="</path/to/download/directory>"
    ENCRYPTION_KEYFILE="</path/to/keyfile.txt>"
    

    Для получения подробной информации о некоторых из этих свойств просмотрите следующее:

    • UPLOAD_REGISTRY — Реестр контейнеров, в который вы будете загружать образы. Укажите хост реестра и, если применимо, префикс репозитория, связанный с вашим реестром. Хост реестра – это полное доменное имя хоста реестра контейнеров. Префикс репозитория — это репозиторий образов, используемый для хранения образов контейнеров. При подготовке к обновлению или повышению версии убедитесь, что вы указали директорию скопированных архивов образов.
    • UPLOAD_TAGS — используется при подготовке новых развертываний. При подготовке к обновлениям или повышениям версий это свойство будет пропущено.
    1. Запустите скрипт, используя команду, соответствующую вашему рабочему процессу:
      • Подготовка к новому развертыванию
        ./image-upload.sh -f </path/to/properties/file>
        
      • Подготовка к обновлению или повышению версии
        ./image-upload.sh -f </path/to/properties/file> -t all
        

      Указав all для опции -t, будут загружены все образы, которые вы загрузили ранее с использованием флагов --update или --upgrade.

      Поскольку скрипт выгружает все образы с тегами в ваш реестр контейнеров, его выполнение займет некоторое время. Если выгрузка прервется, запустите скрипт еще раз.

      Примечание:

      После завершения работы инструмента image-upload.sh образы по-прежнему сохраняются в кэше среды выполнения контейнера. Чтобы освободить место после успешного завершения, рекомендуется очистить кэш Docker от ненужных элементов. Можно сделать это, запустив docker system prune или docker image rm.