Использование реестра контейнеров организации
При использовании реестра контейнеров вашей организации с 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, перед запуском инструментов реестра свяжитесь с вашим администратором Docker, чтобы сопоставить arcgis uid, 117932853.
Подготовка реестра при наличии у клиентского компьютера доступа к 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.