Ниже описаны минимальные требования к аппаратному обеспечению и инфраструктуре, необходимые для запуска ArcGIS Enterprise on Kubernetes 10.9.
Поддерживаемые среды
Системные требования и спецификации применяются во всех поддерживаемых средах, за исключением тех случаев, когда это указано. В этой версии поддерживаются следующие среды:
- Локальный центр обработки данных
- Red Hat OpenShift Container Platform 4.6 или выше
- Управляемые сервисы Kubernetes в облаке
- Сервис Microsoft Azure Kubernetes (AKS)
- Сервис Amazon Elastic Kubernetes (EKS)
Реестр контейнеров
Изображения контейнеров для ArcGIS Enterprise on Kubernetes доступны из частного репозитория Docker Hub. Esri предоставит доступ к этому репозиторию тем, кто развертывает ArcGIS Enterprise on Kubernetes. За подробностями обращайтесь к своему представителю Esri.
Лицензии Esri
Чтобы во время развертывания авторизовать вашу организацию ArcGIS Enterprise, вам потребуется файл лицензии типа пользователя в формате JSON (файл .json) и файл лицензии сервера в формате ECP или PRVC (файл .ecp или .prvc). Чтобы получить эти файлы лицензий, посетите My Esri с правами "для 'лицензионных действий".
- Войдите в My Esri.
- Выберите Мои организации > Лицензии.
- В разделе Лицензирование продуктов Esri выберите Начать.
- Для Продукта выберите ArcGIS Enterprise; для Версии выберите нужную версию ArcGIS Enterprise; а в списке Тип лицензии выполните действия по созданию файлов лицензии для ArcGIS Server и Portal for ArcGIS, включая ваши роли сервера, типы пользователей и приложения, в зависимости от ситуации.
Кластер Kubernetes
Для развертывания ArcGIS Enterprise on Kubernetes у вас должен быть кластер Kubernetes на одной из упомянутых выше платформ. Для каждой поддерживаемой среды кластер Kubernetes должен быть версии 1.19 или новее.
Пространство имен
ArcGIS Enterprise on Kubernetes требует собственного выделенного пространства имен. Перед запуском сценария развертывания необходимо создать пространство имен. Для каждого развертывания ArcGIS Enterprise on Kubernetes также требуется выделенное пространство имен.
Вычислить
ArcGIS Enterprise on Kubernetes развертывается с одним из трех архитектурных профилей. Рекомендации в отношении запросов и ограничений ресурсов (ЦПУ и памяти), а также общих требований к вычислительным ресурсам зависят от выбранного профиля. Рекомендации для каждого профиля приведены ниже.
Ниже приведены минимальные требования к узлу для каждого архитектурного профиля. Рекомендуется, чтобы каждый рабочий/агентский узел имел минимум 8 ЦПУ и 32 ГБ памяти.
Архитектурный профиль | Минимальные требования к рабочим/агентским узлам | Общая минимальная загрузка ЦПУ | Общий минимум ГБ |
---|---|---|---|
Стандартная доступность | 3 | 24 | 96 |
Повышенная доступность | 4 | 32 | 128 |
Разработка | 2 | 16 | 64 |
Примечание:
ArcGIS Enterprise on Kubernetes поддерживается только на процессорах, имеющих архитектуру x86_64 (64-разрядные).
Модули в развертывании ArcGIS Enterprise on Kubernetes распределяются по рабочим узлам в кластере. При масштабировании развертывания или добавлении другого развертывания ArcGIS Enterprise в кластер вам необходимо соответствующим образом подготовить оборудование. Это может потребовать увеличения максимального количества модулей по умолчанию на узел. Количество изначально создаваемых модулей зависит от профиля архитектуры. По мере горизонтального масштабирования или добавления новых функций количество модулей увеличивается.
Квота ресурсов
В модулях ArcGIS Enterprise on Kubernetes определены запросы и ограничения для ЦПУ и памяти. Если в пространстве имен есть объект ResourceQuota, квота должна быть выше суммы запросов и ограничений всех модулей. Эти значения различаются в зависимости от выбранного архитектурного профиля, как описано ниже.
Рекомендуется выделить не менее 10% ресурсов запроса для правильного функционирования узлов кластера.
Следующие ниже рекомендации по квотам для каждого профиля основаны на вышеизложенном. Изображенные предельные значения являются заполнителями и должны быть настроены в соответствии с вашими фактическими требованиями к масштабируемости.
Профиль стандартной доступности:
spec:
hard:
limits.cpu: "120"
limits.memory: 196Gi
requests.cpu: "22"
requests.memory: 86Gi
Профиль повышенной доступности:
spec:
hard:
limits.cpu: "132"
limits.memory: 256Gi
requests.cpu: "28"
requests.memory: 108Gi
Профиль разработки:
spec:
hard:
limits.cpu: "86"
limits.memory: 154Gi
requests.cpu: "14"
requests.memory: 58Gi
Безопасность
Ниже описаны требования безопасности для ArcGIS Enterprise on Kubernetes.
Контроль доступа на основе ролей
В кластере Kubernetes необходимо включить управление доступом на основе ролей (RBAC). Для развертывания ArcGIS Enterprise on Kubernetes вам не нужны права администратора кластера. Если у вас нет прав администратора кластера, пользователь должен иметь минимальные права для администрирования пространства имен. Вы можете назначить пользователю defaultClusterRole "admin", создав RoleBinding в пространстве имен.
Политика безопасности модуля (ограничения контекста безопасности в OpenShift) и виртуальная память
ArcGIS Enterprise on Kubernetes развертывает Elasticsearch для поддержки различных объектов организации ArcGIS Enterprise. По умолчанию Elasticsearch использует каталог mmapfs для хранения необходимых индексов. Ограничений операционной системы по умолчанию на количество mmap может быть недостаточно для развертывания. Elasticsearch рекомендует значение vm.max_map_count по умолчанию 262144. Чтобы изменить значение по умолчанию, на каждом узле требуются повышенные (root) права.
В зависимости от того, разрешает ли кластер Kubernetes запускать контейнеры как привилегированные или непривилегированные, требуются следующие действия.
- Запуск как привилегированного - ArcGIS Enterprise on Kubernetes запускает привилегированный контейнер инициализации на узле, на котором запущен Elasticsearch, и никаких дополнительных действий не требуется.
- Запуск как непривилегированного -- если в кластере Kubernetes определена безопасность модулей и не разрешается запуск контейнеров как привилегированных, применяются следующие опции.
- Опция 1 - Скрипт развертывания ArcGIS Enterprise on Kubernetes создает служебную учетную запись в своем пространстве имен для запуска контейнеров. Служебная учетная запись по умолчанию - rcgis-admin-serviceaccount. Если кластер включает политику безопасности модулей, вы должны разрешить служебной учетной записи запускать контейнеры как привилегированные. Для OpenShift вы можете предоставить этой служебной учетной записи доступ к ограничениям привилегированного контекста безопасности, добавив следующее в разделе пользователя.
“-system:serviceaccount: <Namespace>:arcgis-admin-serviceaccount"
- Опция 2 - Если вы не можете предоставить служебную учетную запись для работы в качестве привилегированного контейнера, вы должны подготовить каждый узел вручную, выполнив следующую команду от имени пользователя root:
sysctl -w vm.max_map_count=262144
- Опция 1 - Скрипт развертывания ArcGIS Enterprise on Kubernetes создает служебную учетную запись в своем пространстве имен для запуска контейнеров. Служебная учетная запись по умолчанию - rcgis-admin-serviceaccount. Если кластер включает политику безопасности модулей, вы должны разрешить служебной учетной записи запускать контейнеры как привилегированные. Для OpenShift вы можете предоставить этой служебной учетной записи доступ к ограничениям привилегированного контекста безопасности, добавив следующее в разделе пользователя.
После подготовки узлов вы должны указать скрипту развертывания не запускать привилегированные контейнеры следующим образом:
- Перейдите к файлу /setup/.install/arcgis-enterprise/arcgis-enterprise.properties.
- Обновите строку "ALLOWED_PRIVILEGED_CONTAINERS=${ALLOWED_PRIVILEGED_CONTAINERS:-true}" на "ALLOWED_PRIVILEGED_CONTAINERS=${ALLOWED_PRIVILEGED_CONTAINERS:-false}".
- Сохраните файл.
Скрипт развертывания не будет запускать контейнер инициализации как привилегированный.
Если вы используете Kubernetes NetworkPolicies, убедитесь, что в пространстве имен ArcGIS Enterprise разрешена непрерывная связь между модулем-модулем и модулем-сервисом.
Кроме того, убедитесь, что модули в пространстве имен имеют доступ к KubernetesAPI серверу. Сервер API доступен через сервис, названный Kubernetes в пространстве имен по умолчанию. Модули в пространстве имен по умолчанию используют имя хоста kubernetes.default.svc для запроса сервера API.
Network
Требования к сети включают полное доменное имя и балансировщик нагрузки. Подробная информация представлена для каждого.
Полное доменное имя
ArcGIS Enterprise on Kubernetes требует полное доменное имя (FQDN) (например, map.company.com). Вы можете использовать существующую систему доменных имен (DNS) для его создания или использовать облачную службу DNS, такую как Amazon Route 53. Вы можете создать запись DNS после развертывания, однако вы должны указать ее значение во время развертывания. В этом выпуске полное доменное имя нельзя изменить после развертывания.
Балансировщик нагрузки
Балансировщик нагрузки необходим для направления трафика через каждый рабочий узел. При использовании AKS или EKS вы можете подготовить следующие балансировщики нагрузки из сценария развертывания без какой-либо ручной настройки:
- Балансировщик нагрузки Azure (общедоступный или внутренний) -- в сценарии развертывания можно указать предварительно подготовленный статический общедоступный IP-адрес и метку DNS.
AWS Network и Классический балансировщик нагрузки (с выходом в интернет или внутренний) - можно использовать другие сервисы балансировки нагрузки; однако их необходимо настраивать вручную для каждого узла кластера.
В OpenShift Container Platform маршруты можно настроить при указании на сервис контроллера входящего трафика.
Вы можете использовать самоуправляемый балансировщик нагрузки, указывающий на рабочие узлы на NodePort службы входного контроллера. Дополнительные сведения см. в описании параметров балансировщика нагрузки в руководстве по развертыванию.
Примечание:
Плагин Azure CNI на AKS не поддерживается в этом выпуске.Хранение
ArcGIS Enterprise on Kubernetes требует постоянных томов (PV) для системного хранилища. Они могут быть динамическими или статическими. При создании PV любого типа вы можете использовать пользовательские размеры (больший размер) и надписи. Рабочие нагрузки ArcGIS Enterprise с отслеживанием состояния включают системы управления реляционными базами данных, а также базы данных NoSQL. Рекомендуется использовать блочные устройства хранения с низкой задержкой, такие как тома EBS, диски Azure, vSphereVolume и т. д.
Поскольку на этих постоянных томах хранятся данные и настройки, их следует защищать с помощью ограничительных политик безопасности. Для постоянных томов на основе файлового хранилища, такого как NFS, Azure File или Gluster, убедитесь, что установлены разрешения для каталогов для предотвращения несанкционированного доступа. Для блочного хранилища, такого как тома EBS, Azure Disk и iSCSI, убедитесь, что блочные устройства доступны только тем пользователям, которым требуется доступ.
Ниже приводится описание объемов хранения и их предназначение:
- В памяти - хранит временные системные ресурсы.
- Пакеты элементов - хранит большие загрузки и пакеты для поддержки рабочих процессов публикации.
- Объект - хранит загруженный и сохраненный контент, размещенные кэши слоев листов и изображений, а также выходные данные геообработки. Для развертывания требуется четыре.
- Очередь - предоставляет хранилище для асинхронных заданий геообработки.
- Реляционный - хранит размещенные векторные данные и административные аспекты, такие как настройки и параметры конфигурации. Для развертывания требуются два.
- Пространственные временные и индексированные - хранение для журналов и индексов, а также размещенных векторных данных для поддержки визуализации и анализа больших данных в реальном времени.
- Вьюер показателей использования - хранит стандартные и пользовательские информационные панели, отображающие использование сервисов ГИС.
- Данные показателей использования - хранит данные об использовании сервисов ГИС.
Рассмотрите требования к хранилищу для нужд вашей организации и определите размер для каждого PV соответственно.
Статические PV
Если вы подготавливаете статические PV до развертывания, рекомендуются следующие спецификации и надписи.
Предоставляется количество PV, необходимых для каждого архитектурного профиля.
Объём | Профиль разработки | Профиль стандартной доступности | Профиль повышенной доступности |
---|---|---|---|
in-memory-volume | 1 | 1 | 1 |
item-packages-volume | 1 | 2 | 2 |
object-volume | 1 | 4 | 12 |
queue-volume | 1 | 2 | 2 |
relational-volume | 2 | 2 | 2 |
spatiotemporal-and-index-volume | 1 | 3 | 5 |
usage-metric-volume | 1 | 1 | 1 |
usage-metric-viewer-volume | 1 | 1 | 1 |
При настройке организации с помощью мастера настройки для привязки тома используются следующие характеристики (имя тома, размер, приложение и уровень); однако вы можете настроить их по своему усмотрению.
Объём | Размер в Гб (минимум) | Режим доступа | Надпись (по умолчанию) |
---|---|---|---|
in-memory-volume | 16 | ReadWriteOnce | arcgis/tier=storage, arcgis/app=ignite |
item-packages-volume | 16 | ReadWriteOnce | arcgis/tier=api, arcgis/app=sharing |
object-volume | 16 | ReadWriteOnce | arcgis/tier=storage, arcgis/app=minio |
queue-volume | 16 | ReadWriteOnce | arcgis/tier=queue, arcgis/app=rabbitmq |
relational-volume | 16 | ReadWriteOnce | arcgis/tier=storage, arcgis/app=postgres |
spatiotemporal-and-index-volume | 16 | ReadWriteOnce | arcgis/tier=storage, arcgis/app=elasticsearch |
usage-metric-volume | 30 | ReadWriteOnce | arcgis/tier=storage, arcgis/app=prometheus |
usage-metric-viewer-volume | 1 | ReadWriteOnce | arcgis/tier=storage, arcgis/app=grafana |
Динамические PV
Для динамической подготовки требуется StorageClass. При настройке организации с помощью мастера настройки имя StorageClass по умолчанию arcgis-storage-default.
Параметр reclaimPolicy на StorageClass должен иметь значение retain.
Примечание:
Не все типы виртуальных машин поддерживают диски премиум-класса в Azure. Используйте диск премиум-класса, если он поддерживается типом виртуальной машины.- Для AKS ниже приведен пример определения StorageClass с Premium Azure Disk:
kind: StorageClass apiVersion: storage.k8s.io/v1 metadata: name: arcgis-storage-default provisioner: kubernetes.io/azure-disk parameters: kind: Managed storageaccounttype: Premium_LRS reclaimPolicy: Retain allowVolumeExpansion: true volumeBindingMode: WaitForFirstConsumer
- Для EKS ниже приведен пример определения StorageClass с томами EBS типа GP2:
kind: StorageClass apiVersion: storage.k8s.io/v1 metadata: name: arcgis-storage-default provisioner: kubernetes.io/aws-ebs parameters: fsType: ext4 type: gp2 reclaimPolicy: Retain allowVolumeExpansion: true volumeBindingMode: WaitForFirstConsumer
Вы также можете использовать классы хранения по умолчанию, предоставляемые с кластером AKS или EKS. В AKS это класс хранилища по умолчанию (диск azure) или управляемый премиум. В EKS это класс хранилища GP2.
Рабочая станция клиента
Скрипты развертывания представляют собой скрипты bash, которые могут запускаться с удаленной рабочей станции клиента с оболочкой bash.
При настройке рабочей станции клиента вам понадобится (ссылки для скачивания предоставляются):
- Kubectl
- Зависящий от среды интерфейс командной строки (CLI)
Kubectl - необходимо для запуска сценария развертывания. Используйте установку и настройку Kubectl, чтобы загрузить инструмент командной строки Kubernetes.
При управлении развертыванием вы можете использовать инструменты командной строки для конкретной среды. Используйте следующие ссылки для загрузки интерфейса командной строки для конкретной среды:
Сертификат TLS
ArcGIS Enterprise on Kubernetes использует контроллер входящего трафика на основе NGINX. Этот входной контроллер имеет область действия пространства имен и развернут для прослушивания только входящего трафика для пространства имен ArcGIS Enterprise. Требуется сертификат TLS с полным доменным именем в общем имени сертификата и альтернативным именем субъекта. Можно использовать либо сертификат, подписанный ЦС, либо самозаверенный сертификат, но по соображениям безопасности настоятельно рекомендуется использовать сертификат, подписанный ЦС. Это сертификат TLS по умолчанию для входного контроллера. В сценарии развертывания доступны следующие опции сертификата для применения сертификата TLS для входящего трафика:
- Существующий секрет TLS, содержащий закрытый ключ и сертификат.
- Файл .pfx, содержащий закрытый ключ и сертификат.
- Закрытый ключ и сертификат в формате PEM
- Самозаверенный сертификат
ArcGIS Enterprise on Kubernetes поддерживает использование сертификата TLS для контроллера входящего трафика, который выдается и управляется менеджером сертификатов Kubernetes. Этот сертификат должен храниться в секрете TLS в том же пространстве имен, что и ArcGIS Enterprise. На секрет TLS можно ссылаться либо во время развертывания, либо после создания организации ArcGIS Enterprise.
ArcGIS Enterprise on Kubernetes и ArcGIS Pro
ArcGIS Pro 2.7 или более поздней версии требуется для использования сервисов из ArcGIS Enterprise on Kubernetes. Предыдущие версии не поддерживаются.
ArcGIS Pro 2.8 или более поздней версии требуется для публикации сервисов в ArcGIS Enterprise on Kubernetes.
При регистрации элемента хранилища данных многопользовательской базы геоданных, версия базы геоданных должна быть 10.9.0.2.8 или новее. Номер версии базы геоданных представляет собой комбинацию номеров версий ArcGIS Enterprise и ArcGIS Pro.
Многопользовательская база геоданных, созданная в ArcMap, не может быть зарегистрирована как элемент данных.