Чтобы повысить отказоустойчивость системы во время сбоев хоста или зоны, настройте параметр topologySpreadConstraints. С его помощью контролируется равномерное распределение подов по топологии кластера, например по зонам доступности, узлам или регионам.
Перед настройкой параметра topologySpreadConstraints ознакомьтесь со всеми инструментами для размещения подов и с рекомендациями по их совместному использованию в статье «Продвинутые параметры ELMA365 Enterprise».
Пример настройки параметра topologySpreadConstraints
Параметр topologySpreadConstraints можно настроить в файле values-elma365.yaml. Перейдите к полю .Values.global.topologySpreadConstraints и задайте значения, например:
global:
topologySpreadConstraints:
- maxSkew: 1
topologyKey: "kubernetes.io/hostname"
whenUnsatisfiable: ScheduleAnyway
Где:
maxSkew— максимально допустимое различие в количестве подов между узлами;topologyKey— ключ метаданных для определения топологии узлов, напримерkubernetes.io/hostname;whenUnsatisfiable— алгоритм действий, если ограничения нельзя применить:ScheduleAnyway— если подходящий узел не найден, под запустится на любом доступном узле;DoNotSchedule— если подходящий узел не найден, под не запустится до тех пор, пока условия не выполнятся.
После настройки параметра примените его, как указано в статье «Изменение параметров ELMA365 Enterprise».
Значения по умолчанию для параметра topologySpreadConstraints
По умолчанию в файле values-elma365.yaml для параметра topologySpreadConstraints установлено значение:
topologySpreadConstraints:
- maxSkew: 1
topologyKey: topology.kubernetes.io/zone
whenUnsatisfiable: DoNotSchedule
Вы можете изменить значения параметра.