it-swarm.com.ru

Ansible - Как последовательно запустить playbook для каждого хоста

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

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

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

Благодарность

38
Lynn

Внимательно посмотрите на Rolling Updates :

То, что вы ищете, это

- hosts: webservers
  serial: 1
  tasks:
    - name: ...
73
ProfHase85

Используя --forks = 1, укажите количество параллельных процессов для использования (по умолчанию = 5)

2
jobin

Стратегия позволяет выполнять параллельное задание для каждого хоста. Смотрите https://docs.ansible.com/ansible/latest/user_guide/playbooks_strategies.html

Существует 3 стратегии: линейная (по умолчанию), последовательная, бесплатная (самая быстрая)

- hosts: all
  strategy: free
  tasks:
    ...
0
MUY Belgium