При использовании реестра контейнеров организации с 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.
Выполните следующие шаги:
- С портала My Esri получите версию программного обеспечения ArcGIS Enterprise on Kubernetes, которую собираетесь развернуть.
- Скачайте и извлеките скрипты развертывания на свой клиентский компьютер.
Чтобы подготовиться к обновлению, загрузите новую версию скриптов развертывания, чтобы получить последние образы.
- Откройте терминал и измените директории на /setup/tools/registry-tools.
- Если в вашем реестре требуется предварительное создание репозиториев образов, например, в Amazon Elastic Container Registry (ECR), выполните следующую команду, чтобы получить список необходимых репозиториев образов:
./image-transfer.sh -l - Получите соответствующую информацию о версии:
- При подготовке к новому развертыванию, определите соответствующий тег версии для версии программного обеспечения, которую вы собираетесь развернуть, обратившись к информации по версии или выполнив следующую команду, чтобы просмотреть доступные теги образа:
./image-transfer.sh -sЭти теги вы будете использовать при указании свойства DOWNLOAD_TAGS.
- При подготовке к повышению версии или обновлению определите текущую версию вашей организации, которая объединяет версию и сборку. Чтобы найти эту информацию, войдите в ArcGIS Enterprise Manager, прокрутите страницу Обзор до конца и щелкните Об этой организации.
Например, для версии 11.4.0 и сборки 6144 CURRENT_VERSION будет 11.4.0.6144.
- При подготовке к новому развертыванию, определите соответствующий тег версии для версии программного обеспечения, которую вы собираетесь развернуть, обратившись к информации по версии или выполнив следующую команду, чтобы просмотреть доступные теги образа:
- Используйте шаблон, расположенный в папке 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>
- Запустите скрипт, используя команду, соответствующую вашему рабочему процессу:
- Подготовка к новому развертыванию
./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.
Выполните следующие шаги:
- С портала My Esri получите версию программного обеспечения ArcGIS Enterprise on Kubernetes, которую собираетесь развернуть.
- Скачайте и извлеките скрипты развертывания на клиентский компьютер, запускающий инструмент скачивания, и на клиентский компьютер, запускающий инструмент загрузки.
Рекомендуется использовать одинаковые версии скриптов развертывания. Чтобы подготовиться к обновлению, загрузите новую версию скриптов развертывания, чтобы получить последние образы.
- На клиентском компьютере, запускающим инструмент скачивания, откройте терминал и измените директории на /setup/tools/registry-tools.
- Если в вашем реестре требуется предварительное создание репозиториев образов, например, в Amazon Elastic Container Registry (ECR), выполните следующую команду, чтобы получить список необходимых репозиториев образов:
./image-download.sh -l - Получите соответствующую информацию о версии:
- При подготовке к новому развертыванию, определите соответствующий тег версии для версии программного обеспечения, которую вы собираетесь развернуть, обратившись к информации по версии или выполнив следующую команду, чтобы просмотреть доступные теги образа:
./image-download.sh -sЭти теги вы будете использовать при указании свойства DOWNLOAD_TAGS.
- При подготовке к повышению версии или обновлению определите текущую версию вашей организации, которая объединяет версию и сборку. Чтобы найти эту информацию, войдите в ArcGIS Enterprise Manager, прокрутите страницу Обзор до конца и щелкните Об этой организации.
Например, для версии 11.4.0 и сборки 6144 CURRENT_VERSION будет 11.4.0.6144.
- При подготовке к новому развертыванию, определите соответствующий тег версии для версии программного обеспечения, которую вы собираетесь развернуть, обратившись к информации по версии или выполнив следующую команду, чтобы просмотреть доступные теги образа:
- Если вы подготавливаетесь к новому развертыванию и не используете файл свойств, запустите инструмент image-download.sh, используя команду в следующем формате:
./image-download.sh -r docker.io/esridocker -u <username> -p <password> -d </path/to/download/directory> -t <version_tag> - Если вы используете файл свойств, примените шаблон, расположенный в 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>
- Запустите скрипт, используя команду, соответствующую вашему рабочему процессу:
- Подготовка к новому развертыванию
./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. - Подготовка к новому развертыванию
- Следуйте процессам вашей организации по перемещению образов на ваш отключенный клиентский компьютер.
Этот компьютер должен иметь доступ к вашему частному реестру.
- На клиентском компьютере с доступом к реестру контейнеров, откройте терминал и измените директории на /setup/tools/registry-tools.
- Если вы не используете файл свойств, запустите инструмент image-upload.sh, используя команду в следующем формате:
./image-upload.sh -r <registry_host>/<repository_prefix> -u <username> -p <password> -d </path/to/download/directory> -t <version_tag> - Если вы используете файл свойств, примените шаблон, расположенный в 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 — используется при подготовке новых развертываний. При подготовке к обновлениям или повышениям версий это свойство будет пропущено.
- Запустите скрипт, используя команду, соответствующую вашему рабочему процессу:
- Подготовка к новому развертыванию
./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.
- Подготовка к новому развертыванию