Запуск скрипта развертывания

Для развертывания ArcGIS Enterprise on Kubernetes вы запускаете скрипт bash вместе с манифестами Kubernetes. Пакет развертывания доступен для скачивания с My Esri и поставляется в виде файла .tar.gz. Перед запуском скрипта развертывания ознакомьтесь с инструкциями по началу работы.

Примечание:

Для запуска скрипта развертывания в интерактивном режиме ваш пароль реестра контейнера не должен превышать 30 символов. Если пароль реестра контейнера превышает 30 символов, вы можете запустить скрипт развертывания в автоматическом режиме. Перед этим используйте инструмент password-encrypt.sh для генерации зашифрованного пароля, удалите все разделители строк и укажите его в файле deploy.properties как CONTAINER_REGISTRY_PASSWORD.

Запустите скрипт развертывания в интерактивном режиме.

Если вы запустите скрипт развертывания ArcGIS Enterprise on Kubernetes без указания файла параметров конфигурации, он откроется в интерактивном режиме. Скрипт запрашивает каждый параметр и немедленно проверяет правильность каждого значения. Это обеспечивает быстрый способ проверки каждого параметра конфигурации вашего развертывания.

  1. На вашей клиентской машине Kubernetes откройте терминал от имени администратора.
  2. Измените директории на те, где находится ваш скрипт развертывания.
  3. В терминале запустите скрипт развертывания, используя следующий формат командной строки:
    ./deploy.sh
    
  4. Заполните параметры.

    Скрипт запрашивает у вас следующие параметры, по одному за раз. Если вы укажете недопустимое значение, скрипт немедленно вернет ошибку и запросит допустимый параметр. Ниже приводится краткая информация о вводимых пользователем данных:

    Примечание:

    Вам не нужно запускать этот скрипт от имени привилегированного пользователя (root).

    • Платформа развертывания - ArcGIS Enterprise on Kubernetes использует точку входа для маршрутизации входящего трафика к сервисам в кластере. Если вы выполняете развертывание в сервисе Kubernetes, управляемом облачным провайдером, например Amazon Web Services EKS или Microsoft Azure Kubernetes Service (AKS), входящий контроллер может быть доступен извне с помощью сервиса балансировки нагрузки облачного провайдера. В этом случае ArcGIS Enterprise on Kubernetes подготавливает балансировщик нагрузки в процессе развертывания.
    • Балансировщик нагрузки — Во время развертывания ArcGIS Enterprise on Kubernetes может подготовить выбранные облачные балансировщики нагрузки с помощью Azure Load Balancer (внешнего и внутреннего) и AWS Network Load Balancer (NLB-External и NLB-Internal). Каждая опция предлагает вам указать IP-адрес балансировщика нагрузки. В этом выпуске только балансировщики нагрузки Azure поддерживают эту опцию, AWS EKS не поддерживает опцию IP балансировщика нагрузки. Если вы используете OpenShift, вы можете использовать Routes, который обычно поддерживается балансировщиками нагрузки на основе Big-IP или HAProxy.
    • Пространство имен - пространство имен кластера Kubernetes, в котором будет развернуто ArcGIS Enterprise on Kubernetes.
    • Ключевой файл шифрования — Ключевой файл шифрования представляет собой простой текстовый файл, который используется для шифрования и дешифрования паролей алгоритмом алгоритмом AES-256. Содержимое этого файла представляет собой обычный текст, который вы введете, и не должно содержать никаких паролей. Этот файл должен оставаться в одном и том же месте, а его содержимое не должно изменяться.
    • Хост реестра - полное доменное имя (FQDN) хоста реестра контейнеров (например, docker.io).
    • Путь к изображению - репозиторий изображений, который используется для извлечения образов контейнеров (например, esridocker).
    • Имя пользователя реестра - имя пользователя для учетной записи в указанном реестре контейнеров, в котором хранятся разрешения на извлечение данных из реестра.
    • Пароль реестра - пароль для указанной учетной записи реестра контейнера.
    • Полное доменное имя - полное доменное имя, необходимое для доступа ArcGIS Enterprise on Kubernetes. Это указывает на балансировщик нагрузки, обратный прокси-сервер, пограничный маршрутизатор или другую веб-интерфейсную точку, настроенную для маршрутизации трафика к входному контроллеру.
    • Контекстный путь - контекстный путь, используемый в URL для ArcGIS Enterprise on Kubernetes (например, https://<FQDN>/<context path>).
      Примечание:

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

    • Порт узла - входящий контроллер предоставляет внешний трафик через сервис типа " LoadBalancer "или"NodePort". Порт может быть указан в диапазоне 30000-32767. Если порт не указан, Kubernetes автоматически выделяет доступный порт в этом диапазоне.
    • Сертификат TLS - сертификат TLS (самозаверяющий или сторонний, подписанный центром сертификации) требуется с полным доменным именем и альтернативным именем субъекта. Это будет сертификат TLS по умолчанию для входного контроллера.

Когда вы ввели все допустимые параметры, файл свойств будет сохранен в вашей текущей рабочей директории. Используйте этот файл свойств для автоматизации будущих развертываний или отмены развертывания ArcGIS Enterprise on Kubernetes.

Примечание:

После создания файла свойств вы можете настроить параметры внутри, чтобы удовлетворить требованиям вашего развертывания. Например, если ваша организация должна запускать непривилегированные контейнеры, обновите ALLOWED_PRIVILEGED_CONTAINERS=false до развертывания. См. дополнительные свойства развертывания в автоматическом режиме для дополнительной информации.

Последний шаг развертывания - создание организации ArcGIS Enterprise.

Подсказка:

Сценарий развертывания использует команды kubectl для проверки предварительных требований, таких как допустимое пространство имен. Если команда kubectl не может связаться с кластером из-за проблем с сетью или брандмауэром, сценарий развертывания может перестать отвечать. Если это произойдет, завершите команду ./deploy.sh и запустите kubectl непосредственно с терминала, чтобы установить связь с кластером.

Запуск скрипта развертывания в автоматическом режиме

В качестве альтернативы запуску скрипта развертывания в интерактивном режиме вы можете выполнить развертывание ArcGIS Enterprise on Kubernetes автоматически. Скрипт развертывания связан с файлом deploy.properties, который предоставляет набор параметров, запрашивающих уникальные входные данные для вашего развертывания ArcGIS Enterprise on Kubernetes.

Примечание:
Рекомендуем запустить инструмент password-encrypt.sh для создания зашифрованных паролей для использования в файле deploy.properties.

  1. На вашей клиентской машине Kubernetes откройте терминал от имени администратора.
  2. Измените каталоги, в которых находятся скрипт развертывания и файл deploy.properties.
  3. Откройте файл deploy.properties.
  4. Обратитесь к описательным комментариям в файле, чтобы получить краткую информацию о вводимых пользователем данных и предоставить значения для каждого параметра, перечисленного в файле.

    Файл разделен на следующие части:

    • Платформа развертывания
    • Пространство имен
    • Ключевой файл шифрования
    • Реестр контейнеров
    • Полное доменное имя (FQDN)
    • Сертификат TLS
    • Дополнительные свойства
  5. Сохраните файл. При необходимости переименуйте файл.
  6. В терминале запустите скрипт развертывания, используя следующий формат командной строки:
    ./deploy.sh -f <user_properties>
    

Содержимое <user properties> будет получено из файла deploy.properties.

Перед развертыванием ArcGIS Enterprise on Kubernetes скрипт развертывания проверит, соответствует ли ваша система минимальным системным требованиям и предоставили ли вы допустимые входные данные для каждого параметра, указанного в файле deploy.properties.

Последний шаг развертывания - создание организации ArcGIS Enterprise.

Дополнительные свойства развертывания в автоматическом режиме

Файл deploy.properties содержит дополнительные свойства, которые можно использовать при развертывании в автоматическом режиме. Для каждого из них указаны значения по умолчанию.

ALLOWED_PRIVILEGED_CONTAINERS=true — если вы не можете запустить привилегированный контейнер, установите это значение на false. При этом вам также потребуется выполнить команду # "sysctl -w vm.max_map_count=262144" от имени root, чтобы увеличить vm.max_map_count до 262144 на всех узлах вашего кластера.

CONTAINER_IMAGE_PULL_POLICY="Always" — при запуске новых контейнеров ImagePullPolicy определяет, загружается ли новый образ контейнера из реестра контейнеров. Значение по умолчанию равно "Always", будет загружаться новое изображение при каждом запуске контейнера. Если вы хотите, чтобы новое изображение загружалось только в том случае, если изображения еще нет, установите это значение на "IfNotPresent".

INGRESS_HSTS_ENABLED=false — HTTP Strict Transport Security (HSTS) добавляет слой безопасности к веб-трафику вашей организации. По умолчанию опция протокола HSTS установлена на false. Чтобы включить HSTS, установите это значение на true.

INGRESS_SSL_PROTOCOLS="TLSv1.2 TLSv1.3" — Задает протоколы SSL для использования. Значение по умолчанию равно "TLSv1.2 TLSv1.3". Если должны быть разрешены дополнительные версии TLS, укажите их здесь.

INGRESS_SSL_CIPHERS="ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-RSA-CHACHA20-POLY1305:AES256-GCM-SHA384:AES256-SHA256:AES256-SHA:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:AES128-GCM-SHA256:AES128-SHA256:AES128-SHA:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA" — это свойство задает список кодов SSL, которые должны быть включены. Если требуются дополнительные коды SSL, укажите их здесь.