Назад | Перейти на главную страницу

SaltStack: расписание высокого состояния в пакетном режиме

Я хочу запланировать highstate бегать каждую ночь, но не параллельно. Есть ли способ добавить batch вариант с системой расписания?

Пример:

schedule:
  highstate:
    enabled: True
    function: state.highstate
    maxrunning: 1
    when: 3:00am
    kwargs:
      batch: 1

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

schedule:
  highstate:
    enabled: True
    function: state.highstate
    maxrunning: 1
    range:
      start: 3:00am
      end: 4:00am
    hours: 2
    kwargs:
      batch: 1

При запуске высокого состояния от мастера вы можете использовать функцию, известную как пакетный режим.

В --batch-size Флаг позволяет вам указать, сколько миньонов сражаться параллельно. Вы можете использовать команду ниже:

salt --batch-size 1 '*' state.highstate

Что касается времени, когда он работает, вы можете использовать splay аргумент вроде следующего:

splay:
  start: 10
  end: 15

Это покажет время от 10 до 15 секунд.

Если вы хотите использовать его с системой планирования:

редактировать /etc/anacrontab и добавить RANDOM DELAY и START_HOURS_RANGE параметры:

# The maximal random delay added to the base delay of the jobs
RANDOM_DELAY=60
# interval, when scheduled jobs can be run, in hours
START_HOURS_RANGE=3-4

1 10 update.daily /usr/bin/salt --batch-size 1 '*' state.highstate