Использование offline-пакетов
Offline-пакеты — это специальные shell-скрипты, которые содержат данные, необходимые для offline-установки сервисов ADH.
Предварительные требования
Перед использованием offline-пакета убедитесь, что целевая среда соответствует следующим требованиям:
-
Установлен и запущен Docker.
-
Установлен Helm (v3.8.0 и выше).
-
Присутствует утилита
bash. -
Имеется достаточно свободного места на диске для образов и чартов.
-
Имеется сетевой доступ к OCI-реестру (для загрузки образов).
Настройка
-
Переместите в целевую среду скрипт <pack.sh>, где
<pack>— наименование скрипта, предоставленного вам командой поддержки Arenadata. Вы также можете использовать архив <pack.sh>.xz, но его требуется распаковать перед началом работы (например, с помощью командыxz -d <pack.sh>.xz). -
Проверьте целостность пакета:
$ bash <pack.sh>Ожидаемый вывод содержит приветственное сообщение и список доступных команд:
------------------------------------------------------------------- Hey there! That is a pack for offline installation prepared by Arenadata team. Use it wise and check out available options bellow. And make sure there's no newline at the end of this script, otherwise pack will be corrupted and you'll see "tar: This does not look like a tar archive" ------------------------------------------------------------------- We have following options for that pack: unpack_adcm - load ADCM image from pack to local docker image storage create_adcm - create ADCM container master_adcm - unpack ADCM image, create ADCM container and run it on port 8000 unpack_et - load Enterprise Tools images from pack to local docker image storage unpack_repo - load repo data to HTTP repo unpack_deps - unpack ET dependencies unpack_images - unpack and load docker images unpack_charts - unpack helm charts list - list repos and images in this pack
-
Выведите список артефактов:
$ bash <pack.sh> listОжидаемый вывод содержит следующее:
REPOS: IMAGES: hub.arenadata.io/adc-enterprise/trino-operator:1.3.1-0 hub.arenadata.io/adc-enterprise/impala-operator:1.3.1-0 hub.arenadata.io/adc-enterprise/kerberos-operator:1.3.1-0 hub.arenadata.io/adh-enterprise/trino-docker:476_arenadata2-adh-4.2.0-x86_64 hub.arenadata.io/adh-enterprise/impala-docker:4.5.0_arenadata1-adh-4.2.0-x86_64 hub.arenadata.io/adh-enterprise/spark3-docker:3.5.4_arenadata3-adh-4.2.0-x86_64 hub.arenadata.io/adh-enterprise/spark4-docker:4.0.1_arenadata1-adh-4.2.0-java17-x86_64 hub.arenadata.io/adh-enterprise/spark4-docker:4.0.1_arenadata1-adh-4.2.0-java21-x86_64 CHARTS: oci://hub.arenadata.io/adc-enterprise/charts/trino-operator:1.3.1-0 oci://hub.arenadata.io/adc-enterprise/charts/trino-cluster:1.3.1-0 oci://hub.arenadata.io/adc-enterprise/charts/impala-operator:1.3.1-0 oci://hub.arenadata.io/adc-enterprise/charts/impala-cluster:1.3.1-0 oci://hub.arenadata.io/adc-enterprise/charts/kerberos-operator:1.3.1-0 oci://hub.arenadata.io/adc-enterprise/charts/kerberos-config:1.3.1-0 ET_IMAGES: ET_DEPENDENCIES: /ADC/cli/adc_v1.3.1-0_linux_amd64 /ADC/cli/adc_v1.3.1-0_darwin_arm64 /ADC/cli/adc_v1.3.1-0_darwin_amd64 /ADC/cli/adc_v1.3.1-0_linux_arm64
-
Если вы планируете устанавливать сервисы через CLI, извлеките артефакты
ET_DEPENDENCIESс помощью опцииunpack_deps. Выберите файл, соответствующий вашей операционной системе, и сделайте его запускаемым, выполнив для него командуchmod +x. Для удобства вы можете переместить файл в /usr/local/bin и переименовать его в adc.После извлечения утилиты проверьте ее работоспособность:
$ ./adc --helpОжидаемый вывод:
Usage: adc [command] Available Commands: cluster Manage product clusters completion Generate the autocompletion script for the specified shell help Help about any command operators Manage operators Flags: -h, --help help for adc -v, --verbose Enable verbose logging --version version for adc Use "adc [command] --help" for more information about a command. -
Извлеките и загрузите образы Docker:
$ bash <pack.sh> unpack_imagesДанная команда сделает следующее:
-
Извлечет образы из пакета.
-
Загрузит образы в локальное хранилище Docker.
-
Сделает образы доступными для применения команд
docker tagиdocker push.Вывод должен содержать подтверждение загрузки:
Loaded image: hub.arenadata.io/adh-enterprise/spark4-docker:4.0.1_arenadata1-adh-4.2.0-java17-x86_64 Loaded image: hub.arenadata.io/adh-enterprise/spark4-docker:4.0.1_arenadata1-adh-4.2.0-java21-x86_64 Loaded image: hub.arenadata.io/adc-enterprise/trino-operator:1.3.1-0 Loaded image: hub.arenadata.io/adc-enterprise/impala-operator:1.3.1-0 Loaded image: hub.arenadata.io/adc-enterprise/kerberos-operator:1.3.1-0 Loaded image: hub.arenadata.io/adh-enterprise/trino-docker:476_arenadata2-adh-4.2.0-x86_64 Loaded image: hub.arenadata.io/adh-enterprise/impala-docker:4.5.0_arenadata1-adh-4.2.0-x86_64 Loaded image: hub.arenadata.io/adh-enterprise/spark3-docker:3.5.4_arenadata3-adh-4.2.0-x86_64
-
-
Присвойте образам тег и загрузите их в приватный реестр. Список образов доступен в выводе третьего шага. Для каждого образа примените команды
tagиpush, как показано ниже:$ docker tag hub.arenadata.io/adh-enterprise/spark3-docker:3.5.4_arenadata3-adh-4.2.0-x86_64 "$PRIVATE_REGISTRY"/adh-enterprise/spark3-docker:3.5.4_arenadata3-adh-4.2.0-x86_64 $ docker push "$PRIVATE_REGISTRY"/adh-enterprise/spark3-docker:3.5.4_arenadata3-adh-4.2.0-x86_64После каждой команды
pushвывод должен быть похожим на следующий:The push refers to repository [<PRIVATE_REGISTRY>/adh-enterprise/spark3-docker] 8bdcbd2226bf: Pushed 7c0e97019764: Pushed ee6d25b218db: Pushed b1c9872907bd: Pushed bc9aad66e281: Pushed fd7b85c1b84e: Pushed 6401a22b39d4: Pushed 6b0653d72989: Pushed 5f70bf18a086: Pushed 0761d1f99054: Pushed 3.5.4_arenadata3-adh-4.2.0-x86_64: digest: sha256:06976d3d99cb2d3d890d05fcb9f061c83ab2619e99f9c259bcf58070f6afea35 size: 1845
Реестр, репозиторий и теги настраиваются на шаге установки операторов, при этом рекомендуется документировать таблицу соответствий между образами из пакета и образами в реестре.
-
Извлеките чарты Helm в локальную директорию:
$ bash <pack.sh> unpack_chartsДанная команда создаст директорию charts со всеми чартами Helm в формате
.tgz.Выполните команду ниже для вывода организованной структуры чартов:
$ tree charts/Вывод команды:
charts └── hub.arenadata.io └── adc-enterprise └── charts ├── impala-cluster-1.3.1-0.tgz ├── impala-operator-1.3.1-0.tgz ├── kerberos-config-1.3.1-0.tgz ├── kerberos-operator-1.3.1-0.tgz ├── trino-cluster-1.3.1-0.tgz └── trino-operator-1.3.1-0.tgz 3 directories, 6 files -
Загрузите чарты Helm в приватный реестр.
Имея все чарты в директории charts в формате
.tgz, вы можете использовать командуhelm pushдля загрузки чартов в приватный реестр:$ helm push ./charts/hub.arenadata.io/adc-enterprise/charts/impala-cluster-1.3.1-0.tgz oci://$PRIVATE_REGISTRY/adc-enterprise/charts/impala-clusterДля каждой команды
pushвывод должен быть похож на следующий:Pushed: <PRIVATE_REGISTRY>/adc-enterprise/charts/impala-cluster:1.3.1-0 Digest: sha256:8c93ec1fd886d492b0867b70aff0245efe133548f26aa67cd93cc0d72f311fe1
Имейте в виду, что далее при установке и управлении вы будете использовать чарты из реестра OCI, при этом рекомендуется документировать таблицу соответствий между чартами из пакета и чартами в реестре.