Перейти к содержанию

Настроить метки виртуального кластера

Метка (label) — пара ключ-значение формата key=value, которая описывает атрибуты объектов кластера. Играет ключевую роль в механизме планирования размещения пользовательских ресурсов (ВМ) на узлах. Метки могут быть назначены в кластере, ВЦОД, виртуальном кластере и ВМ.
В Sharx Base используются следующие типы меток: обычная, делегированная, игнорируемая, метка-ограничение, системная и криптографическая метка.

Основные понятия:

  • Обычная метка — метка, создаваемая и назначаемая пользователями вручную. Не имеет специальных системных свойств, таких как taint или игнорирование.

  • Системная метка — используется системой, недоступна для создания и назначения вручную. Например, метка активации сервисного обслуживания system_drain_node=yes. Подробная информация о данной метке описана в статье CLI.Руководство администратора/Сервисное обслуживание.

  • Игнорируемая метка — метка, существующая в системе, но не учитываемая при планировании. Метка может игнорироваться в контексте ВЦОД и виртуального кластера. Планировщик не учитывает игнорируемые метки во время поиска узлов по ним.

  • Делегирование метки — предоставление возможности использовать метку объектам: ВЦОД или виртуальному кластеру.

  • Криптографическая метка — метка, применяемая к ВМ для обозначения ее принадлежности к контуру криптографической защиты (СКЗИ). Имеет ключ-значение vm=crypto. Метка определяет политику управления ВМ, блокируя функции миграции и создания снимков для исключения риска утечки защищаемых данных. Криптографическую метку может назначить или снять только определенная роль специальной командой.

Метки могут быть назначены следующим объектам виртуальной инфраструктуры:

Администратор ВЦОД управляет метками в виртуальном кластере.

Чтобы просмотреть метки, отданные во ВЦОД, введите команду

scheduler labels ns show [--filter <FILTER>]

где filter — фильтрация меток. Возможные значения:

  • a — all, все метки;
  • i — ignored, игнорируемые метки;
  • u — unignored, все метки, кроме игнорируемых.

Внимание

Пользователи могут видеть метки только ВЦОД, в котором они находятся.
При попытке запроса информации о других ВЦОД будет выдаваться ошибка.
Исключение — ВЦОД управления


Ограничения работы с метками в виртуальном кластере

  • При создании виртуального кластера в него автоматически добавляется метка сервисного обслуживания system_drain_node=yes при ее наличии в родительском ВЦОД.
  • В виртуальный кластер можно добавить только метки данного ВЦОД.
  • В виртуальный кластер нельзя добавить метки, которые игнорируются в данном ВЦОД.
  • Нельзя удалить все метки из виртуального кластера.
  • При удалении виртуального кластера все записи о делегированных ему метках удаляются.
  • Нельзя открепить метки, если по ним размещены ресурсы.

  • При указании в nodeSelector меток, игнорируемых в кластере, ВЦОД или виртуальном кластере, будет выведена ОШИБКА.

  • Системная метка system_drain_node=yes запрещает размещение ресурсов на соответствующих узлах.
  • При обновлении ресурса изменение nodeSelector невозможно.

Операции с метками в виртуальном кластере

Примечание

Далее в тексте понятие Текущий ВЦОД — это ВЦОД, в котором выполняется команда

  1. Добавить метки в заданные виртуальные кластеры текущего ВЦОД

    scheduler labels vcluster add --vcluster <VCLUSTER>
                                  --labels <LABELS>
    

    где

    • vcluster — список имен виртуальных кластеров. При значении * метка устанавливается на все виртуальные кластеры текущего ВЦОД;
    • labels — список меток для добавления в виртуальные кластеры. Задается в формате key=value.
  2. Просмотреть метки виртуальных кластеров

    scheduler labels vcluster show [--vcluster <VCLUSTER>]
                                   [--filter <FILTER>]
    

    где

    • vcluster — список имен виртуальных кластеров для просмотра их меток. При значении * отобразятся все метки на всех виртуальных кластерах;
    • filter — фильтрация меток. Возможные значения:

      • a — all, все метки;
      • i — ignored, игнорируемые метки;
      • u — unignored, все метки, кроме игнорируемых.
  3. Просмотреть метки со списками виртуальных кластеров, в которые они делегированы

    scheduler labels vcluster list [--vcluster <VCLUSTER>]
                                   [--filter <FILTER>]
    

    где

    • vcluster — список имен виртуальных кластеров для просмотра делегированных им меток. При значении * отобразятся все делегированные метки на всех виртуальных кластерах;
    • filter — фильтрация меток. Возможные значения:

      • a — all, все метки;
      • i — ignored, игнорируемые метки;
      • u — unignored, все метки, кроме игнорируемых.
  4. Просмотреть группы совместимых меток в виртуальном кластере

    scheduler labels vcluster sharing --vcluster <VCLUSTER>
    

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

  5. Удалить метки из виртуальных кластеров текущего ВЦОД

    Внимание

    • Из виртуального кластера можно удалить только метки, которые делегированы в текущий ВЦОД.
    • Нельзя удалить метки, если их используют ВМ
    scheduler labels vcluster del --vcluster <VCLUSTER>
                                  --labels <LABELS>
    

    где

    • vcluster — список имен виртуальных кластеров для просмотра делегированных им меток. При значении * отобразятся все делегированные метки на всех виртуальных кластерах;
    • labels — список меток для удаления. Задается в формате key=value.

Термины и определения содержатся в статьях: