В Kubernetes вновь созданные и незапланированные модули автоматически планируются на узлах, которые соответствуют их требованиям. Используя сходство узлов, пороки и допуски, вы можете лучше контролировать узлы, на которых запланированы модули. В ArcGIS Enterprise on Kubernetes вы можете управлять размещением вновь созданных модулей ГИС-сервисов из ArcGIS Enterprise Manager.
Привязка узлов позволяет вам задавать правила, которые ограничивают запуск модулей на определенных подписанных узлах. Запреты применяются к узлам для отвержения модулей, в то время как разрешения применяются к модулям для того, чтобы отменять запреты. Подробнее см. в документации Kubernetes.
Объединение привязки узлов, запретов и разрешений помогает вам добиться точного контроля над размещением рабочей нагрузки для улучшения изоляции, оптимизации распределения ресурсов и эффективного соблюдения требований соответствия в вашем кластере Kubernetes:
- Изолируйте рабочие нагрузки со специальными требованиями — используйте метки и правила привязки узлов, чтобы гарантировать, что определенные модули будут запланированы на выделенных узлах. Используйте запреты, чтобы пометить узлы с определенными характеристиками, такими как высокие требования к процессору или памяти, в качестве предназначенных для рабочих нагрузок ArcGIS. Затем примените разрешения к сервисным модулям, чтобы гарантировать их планирование на узлах с необходимыми ресурсами.
- Оптимизация распределения ресурсов — применяйте запреты к узлам с ограниченными ресурсами, чтобы предотвратить перегрузку ресурсов, и задавайте разрешения для сервисных модулей, чтобы добиться соответствия ограничениям ресурсов на этих узлах. Объедините привязку узлов с ограничениями и допусками, чтобы гарантировать, что сервисные модули будут запланированы только на тех узлах, которые могут удовлетворить их потребности в ресурсах.
- Планирование на основе геолокации — для приложений, требующих локальности данных или соблюдения определенных правил, используйте привязку узлов для планирования сервисных модулей на основе географического расположения узлов. Запретите узлы, основываясь на их физическом местоположении или правилах суверенитета данных и примените разрешения к сервисным модулям, чтобы быть уверенным в том, что они запланированы на узлах и соответствуют требуемым ограничениям местоположения.
Автоматическое масштабирование улучшает использование привязки узлов и допусков за счет динамической регулировки количества модулей в зависимости от требований рабочей нагрузки. Такое динамическое масштабирование гарантирует эффективное планирование модулей на узлах, которые соответствуют определенным требованиям или содержат необходимые ресурсы, оптимизируя распределение ресурсов. Объединяя автоматическое масштабирование с привязкой узлов и разрешениями, кластеры Kubernetes могут добиться улучшенного использования ресурсов, производительности и масштабируемости, адаптируясь к колебаниям рабочей нагрузки и соблюдая ограничения и предпочтения узлов. Подробнее об автоматическом масштабировании см. в разделе Масштабирование сервисов.
Сценарии
Чтобы лучше понять, какую пользу управление размещением модулей в сервисах может принести вашей организации, рассмотрите следующие сценарии.
Сценарий 1: Сезонный всплеск трафика для публичных картографических сервисов
Публичная организация сталкивается со значительным увеличением трафика во время местного фестиваля. Пользователи, получающие доступ к веб-карте для получения информации о событиях, сталкиваются с задержками из-за высокой нагрузки на базовый картографический сервис. Для решения этой проблемы администратор организации делает следующее:
- Настраивает узлы с высокой загрузкой ЦП и памяти с использованием пары ключ-значение high-performance: true.
- Запрещает высокопроизводительные узлы с помощью workload=high-performance:NoSchedule.
- Применяет правила привязки узлов, чтобы быть уверенным в том, что модули картографического сервиса планируются на узлах с высокими ресурсами ЦП и памяти:
- Тип — Предпочитаемое
- Ключ — высокая производительность
- Оператор — существует
- Значение — true
- Применяет разрешения, позволяющие модулям работать на узлах, запрещенных для высокопроизводительных рабочих нагрузок, гарантируя, что картографический сервис сможет справиться с резким ростом трафика:
- Эффект—NoSchedule
- Ключ—workload
- Оператор—Equal
- Значение—high-performance
Сценарий 2: Обработка данных для мониторинга окружающей среды
Экологическое агентство выполняет серию геопространственных анализов для отслеживания изменений землепользования. Анализ требует значительных вычислительных ресурсов, и для этой цели агентство выделило узлы с графическими процессорами. Чтобы обеспечить эффективную работу геопространственного анализа без конкуренции за ресурсы с другими сервисами, администратор организации:
- Настраивает узлы с поддержкой GPU с помощью пары ключ-значение gpu: true.
- Запрещает узлы GPU с помощью параметра workload=high-resource:NoSchedule, чтобы предотвратить планирование на них менее ресурсоемких модулей.
- Применяет правила привязки узлов для планирования модулей анализа на узлах GPU:
- Тип — Обязательное
- Ключ — gpu
- Оператор — In
- Значение — true
- Применяет разрешения, позволяющие модулям работать на запрещенных узлах GPU:
- Эффект—NoSchedule
- Ключ—workload
- Оператор—Equal
- Значение—high-resource
Сценарий 3: Оптимизация ресурсов для опубликованных сервисов объектов
Городской ГИС департамент располагает многочисленными сервисами объектов, которые используются не так часто, но в совокупности создают нагрузку на развертывание одной сервиса. Чтобы позволить отделу поддерживать доступность сервисов, не перегружая систему, администратор организации:
- Настраивает узлы с ключом resource-constrained.
- Запрещает узлы с помощью resource-constrained:PreferNoSchedule.
- Применяет правила привязки узлов для приоритизации планирования на узлах с меньшей доступностью ресурсов:
- Тип — Предпочитаемое
- Ключ — resource-constrained
- Оператор — DoesNotExist
- Применяет разрешения к модулям сервиса объектов, чтобы гарантировать возможность их планирования на запрещенных узлах, несмотря на ограничения:
- Эффект—PreferNoSchedule
- Ключ — resource-constrained
- Оператор — существует
Управление размещением модуля
Перед управлением размещением модулей настройте группы узлов, добавив метки, которые вы будете использовать для задания привязки узлов, и запреты, для которых вы установите разрешения.
Примечание:
В большинстве сред вы можете группировать рабочие нагрузки, используя пулы или группы узлов. В этом рабочем процессе рекомендуется применять метки и запреты к группам узлов, а не к отдельным узлам.
Чтобы задать правила привязки узлов и разрешения для вновь созданных модулей ГИС-сервисов, выполните следующие действия:
- Войдите в ArcGIS Enterprise Manager как администратор.
- Щелкните кнопку Сервисы на боковой панели.
- Выберите ГИС-сервис, которым вы хотите управлять, и щелкните вкладку Размещение модуля.
- Чтобы добавить правило привязки узлов к модулям, укажите следующую информацию в разделе Привязка узлов и нажмите Добавить:
- Тип — Тип привязки узлов. Доступны следующие типы:
- Предпочтительный (PreferredDuringSchedulingIgnoredDuringExecution) — модуль предпочтительно запланирован на узле, который удовлетворяет правилу.
- Обязательный (RequiredDuringSchedulingIgnoredDuringExecution) — модуль должен быть запланирован на узле, который удовлетворяет правилу.
- Ключ — ключ метки узла или аннотации, которому должно соответствовать правило.
- Оператор — оператор для правила. Ниже перечислены доступные операторы:
- В — метка узла или аннотация должны быть в списке указанных значений.
- Не в — метка узла или аннотация не должны быть в списке указанных значений.
- Существует — узел должен содержать указанную метку или аннотацию.
- Не существует — узел не должен содержать указанную метку или аннотацию.
- Значение — список значений, которые необходимо сопоставить с меткой узла или аннотацией.
- Тип — Тип привязки узлов. Доступны следующие типы:
- Чтобы добавить разрешения к модулям, укажите следующую информацию в разделе Разрешения и нажмите Добавить:
- Эффект — эффект запрещения, которому должно соответствовать разрешение. Ниже следуют доступные эффекты:
- Не планировать — новые модули не планируются для запрещенного узла без соответствующего разрешения.
- Предпочитать не планировать — новые модули стараются избегать планирования на запрещенном узле без соответствующего разрешения, но это не гарантируется.
- Ключ — ключ запрещения, которому должно соответствовать разрешение.
- Оператор — оператор, используемый для разрешения. Ниже перечислены доступные операторы:
- Равно — модуль разрешает запрет с указанным ключом и значением.
- Существует — модуль разрешает любой запрет с указанным ключом и значением.
- Значение — значение запрета, которому должно соответствовать разрешение, если для операции установлено равенство.
- Эффект — эффект запрещения, которому должно соответствовать разрешение. Ниже следуют доступные эффекты:
- Щелкните Сохранить.
Измените правила привязки узлов и разрешения, нажав на кнопку Изменить рядом с каждым списком, или удалите их, нажав кнопку Удалить .
Примечание:
Модули, уже работающие на узлах, не будут удалены, если будут внесены изменения и правило или разрешение больше не будут выполняться.