Развертывание кластера в Amazon Elastic Kubernetes Service

Перед развертыванием ArcGIS Enterprise on Kubernetes в Amazon Web Services (AWS) вы должны подготовить кластер Amazon Elastic Kubernetes Service (EKS), который соответствует системным требованиям ArcGIS Enterprise.

Подготовка кластера EKS включает шаги, общие для поддерживаемых сред, например, настройка кластера Kubernetes и соответствующих узлов, а также шаги, специфические для каждой из сред, например, настройка ролей AWS Identity and Access Management (IAM).

Внимательно прочитайте следующие шаги и просмотрите документацию по AWS, чтобы получить подробные инструкции о подготовке своей среды.

  1. Создайте Amazon Virtual Private Cloud (VPC).

    Вы должны создать VPC, который соответствует как требованиям Amazon EKS, так и требованиям по масштабированию ArcGIS Enterprise on Kubernetes.

    Большое развертывание Kubernetes может учитывать тысячи IP-адресов. Когда кластер создан, диапазоны Classless Inter-Domain Routing (CIDR) VPC и связанные подсети изменить уже нельзя.

    Количество необходимых IP-адресов во многом зависит от количества рабочих нагрузок в кластере, но тестирование на масштабируемость показало, что каждая подсеть должна быть настроена с минимальной маской подсети /18. Это позволяет получить более 16000 доступных IP-адресов на подсеть.

  2. Дополнительно включите шифрование конверта для секретных данных и создайте ключ для Key Management Service (KMS).

    Рекомендуется включить шифрование конвертов для секретов, хранящихся в ectd для кластера EKS. Для этого в Amazon EKS должен присутствовать ключ симметричного шифрования.

    Примечание:

    После включения шифрования конвертов для кластера его нельзя отключить. При необходимости его можно включить на существующем кластере.

  3. Создайте кластер EKS.

    При создании кластера EKS вы будете ссылаться на VPC, подсети, роль IAM и ключ KMS, созданный в предыдущем шаге. ArcGIS Enterprise on Kubernetes не поддерживается на AWS Fargate, поскольку входящие в него узлы не доступны для настройки.

    Версия кластера Kubernetes должна совпадать с той, которая указана в Системных требованиях.

  4. Создайте роль группы узлов IAM.

    После создания кластера группы вы должны создать группу рабочих узлов. Для создания группы узлов нужна дополнительная роль IAM, которая определяет сервисы AWS, связанные с доступными экземплярами EC2.

  5. Создайте группу узлов.

    После создания у кластера нет ни одного рабочего узла с доступным расписанием. Для развертывания любых рабочих нагрузок в кластере требуется хотя бы одна группа узлов, чтобы запустить связанные с ней модули. Использование управляемой группы узлов рекомендуется для упрощения модернизации кластера в будущем.

  6. Обновите конфигурацию kubectl.

    После создания кластера AWS Command Line Interface (CLI) можно использовать для извлечения информации о подключении к кластер-админу в ваш файл kubeconfig. Воспользуйтесь следующей командой:

    aws eks update-kubeconfig -name <CLUSTER_NAME> --region <REGION>
    
  7. Создайте роль кластера IAM.

    Кластер Amazon EKS требует наличия роли IAM, которая определяет ресурсы, у которых есть доступ к кластеру. У ArcGIS Enterprise on Kubernetes нет никаких требований, кроме тех, что описаны AWS.

  8. Создайте поставщика аутентификации OpenID Connect (OIDC).

    Для взаимодействия с другими сервисами AWS внутри кластера для AWS рекомендуется провайдер OIDC. Этот поставщик интегрирует кластер Kubernetes с организацией AWS для сопоставления доступа учетных записей сервисов Kubernetes с ресурсами AWS. С точки зрения ArcGIS Enterprise on Kubernetes, это рекомендуется для обеспечения работы контроллера балансировщика нагрузки и драйвера интерфейса контейнерного хранилища (CSI) Amazon Elastic Block Store (EBS) AWS. Эти два дополнения значительно сокращают административные усилия, необходимые для развертывания ArcGIS Enterprise on Kubernetes.

  9. Установите Надстройку контроллера балансировщика нагрузки.

    Контроллер балансировщика нагрузки позволяет AWS инициализировать сетевой балансировщик нагрузки (внутренний или внешний) в процессе развертывания. Контроллер также отвечает за создание целевой группы, групп безопасности и других параметров для управления маршрутизацией от сетевого балансировщика нагрузки к рабочим узлам.

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

  10. Установите Надстройку драйвера Amazon EBS CSI.

    Драйвер Amazon EBS CSI требуется для Amazon EKS 1.23 и более поздних версий, которая позволяет динамически предоставлять тома EBS с помощью заявлений о Persistent Volumes Claims (PVC) в пределах кластера. Первым важным шагом является создание роли IAM и учетной записи сервиса Kubernetes для драйвера CSI. Второй этап - развертывание рабочих нагрузок драйвера CSI на кластере.

    Чтобы воспользоваться преимуществами последнего класса томов EBS, рекомендуется создать класс хранения, ссылающийся на тип gp3. Соответствующий файл YAML должен быть применен к кластеру с помощью следующей команды:

    kubectl apply -f <storageClass.yaml>
    

    Для получения дополнительной информации смотрите пример класса хранения по умолчанию YAML и пример класса хранения резервных копий YAML.

После создания пространства имен в кластере Kubernetes ваш кластер EKS должен быть готов к развертыванию и настройке ArcGIS Enterprise. При развертывании не забудьте указать ArcGIS Enterprise создать балансировщик нагрузки. Когда вы настраиваете свою организацию, обязательно ссылайтесь на созданный вами класс хранилища.