• Русский
  • Конфигурация планирования

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

    Обзор сценария

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

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

    Оба сценария могут быть реализованы путем настройки Node Labels и Pod Tolerations в разделе Scheduling Configuration на странице создания экземпляра.

    В этом разделе показано, как запускать экземпляры PXC на разных указанных узлах. Назначенные узлы следующие:

    КомпонентУказанные узлы
    Redis192.168.100.101 192.168.100.102
    MySQL-PXC192.168.100.103 192.168.100.104 192.168.100.105

    Предварительные требования

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

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

    Вы можете настроить узлы и taints в соответствии с фактическими требованиями.

    Администратор платформы уже установил taints и метки узлов в платформенном центре со следующими конфигурациями:

    УзелNode LabelNode Taint
    192.168.100.101 192.168.100.102keyredis=valuerediskeyredis=valueredis:NoSchedule
    192.168.100.103 192.168.100.104 192.168.100.105keymysql=valuemysqlkeymysql=valuemysql:NoSchedule

    Объяснение конфигурации

    • Taint: Атрибут ключ-значение на узле, который предотвращает планирование Pod на нем, если Pod не имеет соответствующей toleration.

    • Toleration: Атрибут ключ-значение на Pod, который позволяет ему терпеть определённые taints узла, обеспечивая планирование Pod только на тех узлах, которые он может терпеть.

    Taints и tolerations поддерживают параметр effect с форматом синтаксиса key=value:effect. effect определяет уровень исключения для Pod и включает три типа:

    Тип эффектаОписание
    NoScheduleНовые Pod, не терпящие этот taint, не могут быть запланированы на узле. Это строгое ограничение, но существующие Pod на узле остаются без изменений.
    PreferNoScheduleБолее мягкая версия NoSchedule, где новые Pod, не терпящие этот taint, предпочтительно не должны планироваться на узле, но могут быть запланированы, если других узлов нет. Существующие Pod остаются без изменений.
    NoExecuteНовые Pod, не терпящие этот taint, не могут быть запланированы на узле. Кроме того, если существующий Pod перестает соответствовать критериям taint-toleration из-за изменений taint узла или tolerations Pod, он будет эвакуирован.

    При определении tolerations на Pod поддерживаются два оператора:

    ОператорОписание
    EqualToleration Pod должен точно совпадать с ключом, значением и эффектом taint узла.
    ExistsToleration Pod должен совпадать с ключом и эффектом taint узла, но поле значения может быть пустым.

    Процедура настройки

    Создание экземпляра MySQL с конфигурацией планирования

    1. В левой навигационной панели нажмите MySQL-PXC.

    2. Нажмите Create MySQL-PXC Instance.

    3. Заполните параметры конфигурации. В разделе Scheduling Configuration выберите метку узла и taint в соответствии с указанными узлами.

      MySQL Scheduling Configuration

    4. Нажмите Create. Pod экземпляра MySQL будет запланирован на узлы 192.168.100.103, 192.168.100.104 и 192.168.100.105.

    Проверка

    Вы можете проверить, что экземпляры MySQL работают на указанных узлах, перейдя в Container Platform > Compute Components > Container Groups.