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

Для развертывания 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. Создайте ключевой файл шифрования.

    Ключевой файл шифрования представляет собой обычный текстовый файл, используемый для шифрования и дешифрования паролей алгоритмом AES-256. Содержимое этого файла представляет собой обычный текст, который вы введете, и не должно содержать никаких паролей. Этот файл должен оставаться в одном и том же месте, а его содержимое не должно изменяться.

  4. (Дополнительно) Создайте Секрет TLS в пространстве имен.
  5. В терминале запустите скрипт развертывания, используя следующий формат командной строки:
    ./deploy.sh
    
  6. Заполните параметры.

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

    Примечание:

    Вам не нужно запускать этот скрипт от имени привилегированного пользователя (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 балансировщика нагрузки. Чтобы использовать возможности балансировки нагрузки уровня 7 с помощью уже существующего входящего контроллера, необходимо указать, что вы не хотите использовать облачный балансировщик нагрузки.
    • Входящий контроллер на уровне кластера- Входящий контроллер на уровне кластера может использоваться для маршрутизации трафика к развертыванию ArcGIS Enterprise on Kubernetes, позволяющему организациям использовать возможности балансировки нагрузки уровня 7. Чтобы разрешить создание внутрикластерной службы входящего контроллера NGINX как тип ClusterIP, отвечайте yes на вопрос об использовании входящего контроллера на уровне кластера.
    • Пространство имен - пространство имен кластера Kubernetes, в котором будет развернуто ArcGIS Enterprise on Kubernetes.
    • Ключевой файл шифрования — ключевой файл шифрования, который вы создали в шаге 3.
    • Хост реестра - полное доменное имя (FQDN) хоста реестра контейнеров (например, docker.io).
    • Путь к изображению - репозиторий изображений, который используется для извлечения образов контейнеров (например, esridocker).
    • Имя пользователя реестра - имя пользователя для учетной записи в указанном реестре контейнеров, в котором хранятся разрешения на извлечение данных из реестра.
      Внимание:

      Учетная запись реестра контейнеров, которую вы указываете, должна иметь минимальный уровень прав доступа, связанных с ней, например, только для загрузки образов контейнеров. По умолчанию незашифрованные учетные данные этой учетной записи в Kubernetes хранятся в секрете и к ним осуществляется доступ. Рекомендуется не указывать учетную запись, имеющую права на внесение изменений, редактирование метаданных или администрирование реестра контейнеров.

    • Пароль реестра - пароль для указанной учетной записи реестра контейнера.
    • Полное доменное имя - полное доменное имя, необходимое для доступа 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 по умолчанию для входного контроллера.

  7. Ответьте на запрос, хотите ли вы развернуть или сохранить файл свойств.

    Если необходимо изменить какие-либо параметры в файле свойств, включая дополнительные свойства развертывания в автоматическом режиме, следует выйти из сценария развертывания и обновить файл на диске. В качестве примера дополнительных свойств можно привести обновление ALLOWED_PRIVILEGED_CONTAINERS=false для запуска только непривилегированных контейнеров или обновление K8S_AVAILABILITY_TOPOLOGY_KEY=topology.kubernetes.io/zone для поддержки развертывания кластера с зонами мульти-доступности.

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

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

Подсказка:

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

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

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

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

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

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

K8S_CLUSTER_DOMAIN="cluster.local" — если у вас есть пользовательский суффикс домена кластера для сервисов и модулей (например, organization.com ), вы можете использовать это свойство, чтобы разрешить ArcGIS Enterprise on Kubernetes использование вашего суффикса домена кластера. Значение по умолчанию равно cluster.local.

K8S_AVAILABILITY_TOPOLOGY_KEY="kubernetes.io/hostname" — если вы выполняете развертывание ArcGIS Enterprise on Kubernetes и ваш кластер Kubernetes покрывает три и более зоны доступности, замените "kubernetes.io/hostname" на "topology.kubernetes.io/zone" или вашу пользовательскую надпись топологии домена. Подробнее о развертывании зон мульти-доступности см. в разделе Администрирование кластеров Kubernetes зоны мульти-доступности.

INGRESS_SERVICE_USE_CLUSTER_IP=false - Для использования возможностей балансировки нагрузки уровня 7 с помощью уже существующего входящего контроллера, необходимо установить это значение равным true. Установка этого значения как true заменит значение, которое было установлено для параметра INGRESS_TYPE.

После обновления необходимых параметров для кластера вашей организации в файле свойств развертывания выполните развертывание ArcGIS Enterprise on Kubernetes с помощью следующей команды:

./deploy.sh -f <user_properties>