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

salt-ssh Выполняет изменения, охватывающие несколько хостов

Мне нужно сменить два хоста:

Мы реализовали оба, и оба шага работают:

root@s# salt-ssh webserver-new state.sls webserver
root@s# salt-ssh tunnel-host state.sls tunnel

Как это сделать с помощью salt-ssh?

Хосты из приведенного выше примера:

Вы должны создать верхний файл:

base:
  'webserver-new':
    - webserver
  'tunnel-host':
    - tunnel

и выполнить highstate на всех хостах:

salt-ssh '*' state.apply

Более продвинутой альтернативой было бы использование оркестровка с участием ssh=true вариант, особенно когда состояния на разных хостах зависят друг от друга, но для этого требуется мастер Salt (даже для миньонов salt-ssh).

# /srv/salt/orch/webserver.sls
setup_webserver:
  salt.state:
    - tgt: 'webserver-new'
    - ssh: true
    - sls:
      - webserver
create_tunnel:
  salt.state:
    - tgt: 'tunnel-host'
    - ssh: true
    - sls:
      - tunnel
    - require:
      - salt: setup_webserver

И выполнить это с помощью salt-run state.orchestrate orch.webserver