Skip to main content

Концепции и архитектура Kubernetes

Чтобы понять системные требования и предварительные условия для ArcGIS Enterprise on Kubernetes, ознакомьтесь с концепциями и архитектурой Kubernetes. Ниже представлены основные термины, которые будут использоваться во всей документации.

Кластер

Кластер — это набор рабочих узлов, которые работают вместе для запуска контейнерных приложений. Кластер Kubernetes является обязательным условием для развертывания ArcGIS Enterprise on Kubernetes.

Узел

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

Пространство имен

Пространство имен используется для организации объектов в кластере Kubernetes. В кластере может быть одно или несколько пространств имен, каждое будет задано уникальным именем. При удалении пространства имен также будут удалены все его объекты. Пространство имен является обязательным условием для развертывания ArcGIS Enterprise on Kubernetes.

Контроль доступа на основе роли (RBAC)

Контроль доступа на уровне роли используется для управления правами на ресурсы в рамках кластера.

Квоты ресурсов

Квоты ресурсов используются для управления лимитами ресурсов, таких как ЦП и память, в указанном пространстве имен.

Секреты

Секрет используется для хранения и управления паролями, токенами, ключами или другой строго конфиденциальной информацией в пространстве имен. ArcGIS Enterprise использует шифрование на уровне приложений и хранит секреты как секреты Kubernetes. Он не обладает функциональностью для интеграции с менеджерами секретов, такими как AWS Secrets Manager, Azure Key Vault или Google Secret Manager.

Модуль

Модуль — это наименьшая единица в кластере Kubernetes. Модули представляют собой абстракцию над контейнером или, в некоторых случаях, набором контейнеров. Каждому модулю в кластере присваивается уникальный и доступный изнутри IP-адрес.

Развертывание

Развертывание — это группировка указанного набора модулей, ReplicaSets и Services, которые работают вместе для запуска контейнеризированных приложений. Развертывание управляет обновлениями для набора модулей, где они могут масштабироваться и обновляться с оптимизированными ограничениями ресурсов. В ArcGIS Enterprise on Kubernetes развертываниями управляют из ArcGIS Enterprise Manager или ArcGIS Enterprise Administrator API. В ArcGIS Enterprise on Kubernetes администраторы осуществляют управление ГИС-сервисами и приложениями как развертываниями.

ReplicaSet

Развертывание использует ReplicaSet, чтобы гарантировать, что для заданного модуля запущено указанное количество реплик. ReplicaSet создает или удаляет модули по мере необходимости для выполнения желаемого набора реплик, указанного через развертывание. ReplicaSets не сохраняют текущее состояние.

StatefulSets

StatefulSets используются для управления модулями, которые были созданы с одинаковым набором спецификаций. Они поддерживают уникальный ID для каждого модуля внутри соответствующего развертывания, чтобы гарантировать, что модули являются уникальными и надлежащим образом назначены постоянным объемам хранения. StatefulSets сохраняют состояние.

Сервис

Сервис используется для группировки набора модулей и предоставления доступа к ним по мере необходимости. Сервис использует единое имя системы доменных имен (DNS) для группы модулей и направляет внутренний сетевой трафик к серии модулей для управления рабочей нагрузкой и обеспечения связи между модулями. Сервис определяется статическим IP-адресом, который может быть присоединен и распознан участвующими модулями.

Жизненные циклы сервиса и модуля независимы, что означает, что модуль может завершиться и быть заменен новым модулем. В таком случае сервис распознает новый IP-адрес соответствующим образом.

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

Точка входа

Точка входа используется для маршрутизации внешнего трафика в кластер. Она также может использоваться для обеспечения дополнительной балансировки нагрузки для сервисов внутри кластера.

Постоянный том

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

  • Администратор может устанавливать соединения из кластера Kubernetes с физическим хранилищем, таким как облачное хранилище, сетевая файловая система (NFS) и т. д.

  • Они не зависят от жизненного цикла модуля.

  • Они не привязаны к конкретному узлу; они связаны со всем кластером.

  • Постоянные тома находятся за пределами пространства имен, чтобы обеспечить хранение всего кластера.

Постоянные тома определяются администратором как набор свойств. Необходимые спецификации в файле разнятся и зависят от типа физического хранилища. Постоянные тома можно подготовить статически перед развертыванием. Также их можно подготовить динамически в ходе развертывания при использовании класса хранения.

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

Класс хранения

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

Заявление постоянного тома

Заявление постоянного томов запрашивает или требует постоянные объёмы для предоставления ресурсов модулю. Модуль запрашивает хранилище через заявление постоянного томов, которое, в свою очередь, запрашивает хранилище через класс хранилища. Заявления постоянных томов существуют внутри пространства имен. Постоянное хранилище используется для управления сохраненными данными, от файлов конфигурации и журналов до ресурсов участников.

Коммуникация модуль-модуль

Модули общаются друг с другом через сервис в виртуальной сети. Отдельным модулям назначается IP-адрес, который сервис распознает на протяжении всего жизненного цикла модуля. Когда модуль завершается, возможно, из-за сбоя приложения в его контейнере, на его месте создаются заменяющий модуль и связанный IP-адрес.

Ограничения распространения топологии

TopologySpreadConstraint — это свойство, которое можно применить к шаблонам модулей, управляющее тем, как происходит планирование в топологии кластера. Домен топологии определяется тем, что каждому уникальному значению присваивается один и тот же ключ надписи. TopologySpreadConstraint обеспечивает равномерное распределение по доменам топологии в соответствии с заданным свойством maxSkew. Если maxSkew установлено в 1, число модулей на домене топологии может отличаться друг от друга только на 1 реплику, поэтому, если вы использовали три домена топологии, планировщик не разрешил бы 0, 1 и 2 реплики в каждом из трех доменов, а запланировал бы их как 1, 1, 1.