Метки
Метки (labels) — пары ключ-значение формата key=value, которые описывают атрибуты объектов кластера. Они играют ключевую роль в механизме планирования размещения пользовательских ресурсов (ВМ) на узлах.
Метки могут быть назначены:
- в кластере;
- во ВЦОД;
- в виртуальном кластере (см. Руководство пользователя).
Основные понятия:
-
Обычные метки — создаются и назначаются пользователями.
-
Системные метки — используются системой, недоступны для создания и назначения вручную. Например, метка активации сервисного обслуживания
system_drain_node=yes. Подробная информация о данной метке описана в статье Сервисное обслуживание -
Игнорируемые метки — метки, существующие в системе, но не учитываемые при планировании. Метка может игнорироваться в контексте ВЦОД и виртуального кластера. Планировщик не учитывает игнорируемые метки во время поиска узлов по ним.
-
Делегирование метки — предоставление возможности использовать метку объектам: ВЦОД или виртуальному кластеру.
Принципы выбора объекта для размещения ресурсов по меткам
Внимание
- При указании в
nodeSelectorметок, игнорируемых в кластере, ВЦОД или виртуальном кластере, будет выведена ОШИБКА. - Системная метка
system_drain_node=yesзапрещает размещение ресурсов на соответствующих узлах. - При обновлении ресурса изменение
nodeSelectorневозможно
Планировщик размещает ресурсы только на узлах, содержащих все метки, указанные в запросе на создание ресурса в элементе nodeSelector. Игнорируемые метки не участвуют в фильтрации узлов.
Например, узлам A, B и С присвоены метки
| node | labels |
|---|---|
| A | key=base, disk=ssd, graphics=fast, foo=bar |
| B | key=base |
| С | key=base, disk=ssd |
Получен запрос на создание пользовательского ресурса
Только узел A будет выбран планировщиком доступным для размещения ресурса, так как он единственный содержит все запрошенные метки.
Управлять метками в кластере
Ограничения работы с метками в кластере
- При создании кластера каждому узлу по умолчанию присваивается метка
key=base. - Максимальное количество меток на узле — 150.
- Узлу нельзя назначить несколько меток с одинаковым ключом.
- С узла нельзя открепить все метки.
- Нельзя удалить метки, делегированные во ВЦОД и в виртуальные кластеры.
- Общие ограничения описаны выше.
Операции с метками кластера
-
Создать и назначить метки узлам кластера
где
labels— список меток узла. Задается в форматеkey=value;nodes— список идентификаторов узлов, на которые устанавливается метка. При значении*метка устанавливается на все узлы;descr— описание метки.
-
Назначить существующие метки узлам кластера
где
labels— список меток узла. Задается в форматеkey=value;nodes— список идентификаторов узлов, на которые устанавливается метка. При значении*метка устанавливается на все узлы.
-
Просмотреть метки кластера со списками узлов
где
-
filter— фильтрация меток. Возможные значения:a— all, все метки;i— ignored, игнорируемые метки;u— unignored, все метки, кроме игнорируемых.
-
-
Просмотреть узлы кластера со списками их меток
где
nodes— список идентификаторов узлов. При значении*выводятся метки на всех узлах;-
filter— фильтрация меток. Возможные значения:a— all, все метки;i— ignored, игнорируемые метки;u— unignored, все метки, кроме игнорируемых.
-
Запросить список узлов кластера по определенным меткам
Внимание
Игнорируемые метки не будут учтены при поиске
где
labels— список меток. Задается в форматеkey=value;-
strict— отображать узлы в соответствии с набором меток. Возможные значения:- при
strict yотображать узлы, которые имеют все запрошенные метки; - при
strict nотображать узлы, которые имеют хотя бы одну из запрошенных меток;
- при
-
silent— отображать ошибки, если какие-либо метки не существуют. Возможные значения:y— отображать ошибки;n— не отображать ошибки.
-
Игнорировать метки в пределах всего кластера.
Если не указывать параметрns, то метка заблокируется для всех новых и уже существующих ВЦОД: в новый ВЦОД метку добавить будет нельзя, а в уже существующих ВЦОД новые виртуальные кластеры будут создаваться без этой метки.Внимание
Игнорировать можно те метки, которые были предварительно делегированы во ВЦОД
где
labels— список меток для игнорирования;ns— список ВЦОД. При значении*метки будут автоматически помечены как игнорируемые во всех ВЦОД кластера, куда они были делегированы.
-
Удалить метки кластера
Примечание
При удалении метки предварительно будет произведена попытка ее открепления со всех узлов кластера
где
labels— список меток для удаления.
Управлять метками во ВЦОД
Ограничения работы с метками во ВЦОД
- При создании нового ВЦОД и при наличии в кластере базовой метки
key=baseи метки сервисного обслуживанияsystem_drain_node=yesони будут автоматически делегированы в созданный ВЦОД. - Во ВЦОД нельзя делегировать метки, игнорируемые в пределах кластера.
- При удалении ВЦОД все записи о делегированных ему метках удаляются.
- Общие ограничения описаны выше.
Операции с метками во ВЦОД
Примечание
Действия выполняются пользователем с ролью Администратор кластера во ВЦОД управления
-
Делегировать метки в заданные ВЦОД
где
ns— список имен ВЦОД. При значении*метка будет делегирована на все ВЦОД;labels— список делегируемых меток. Задается в форматеkey=value.
-
Просмотреть метки во ВЦОД
Внимание
Пользователи могут видеть метки только ВЦОД, в котором они находятся.
При попытке запроса информации о других ВЦОД будет выдаваться ошибка.
Исключение — ВЦОД управлениягде
-
ns— список имен ВЦОД для просмотра их меток.
Администраторы кластераadminsмогут просмотреть метки всех ВЦОД кластера, добавив флаг--ns *.
Чтобы ограничить вывод меток для определенных ВЦОД, администратор кластера должен указать их имена в--ns.
Пользователям с другими ролями доступен просмотр меток только в своем ВЦОД без указания флага--ns. -
filter— фильтрация меток. Возможные значения:a— all, все метки;i— ignored, игнорируемые метки;u— unignored, все метки, кроме игнорируемых.
-
-
Просмотр меток со списками ВЦОД, в которые они делегированы
где
-
ns— список имен ВЦОД для просмотра делегированных меток.
Администраторы кластераadminsмогут просмотреть делегированные метки всех ВЦОД кластера, добавив флаг--ns *.
Чтобы ограничить вывод меток для определенных ВЦОД, администратор кластера должен указать их имена в--ns.
Пользователям с другими ролями доступен просмотр делегированных меток только в своем ВЦОД без указания флага--ns. -
filter— фильтрация меток. Возможные значения:a— all, все метки;i— ignored, игнорируемые метки;u— unignored, все метки, кроме игнорируемых.
-
-
Игнорировать метки в пределах заданных ВЦОД
Внимание
Игнорировать можно те метки, которые были предварительно делегированы во ВЦОД
где
labels— список меток для игнорирования;ns— список ВЦОД. При значении*метки будут автоматически помечены как игнорируемые во всех ВЦОД кластера, куда они были делегированы.
Термины и определения содержатся в статьях: