Ответ 1
Познакомьтесь с Rolling Updates:
То, что вы ищете, это
- hosts: webservers
serial: 1
tasks:
- name: ...
Я использую возможность для script развертывания для API. Я хотел бы, чтобы это работало последовательно через каждый хост в моем файле инвентаризации, чтобы я мог полностью развернуть на одну машину за раз.
С учетом поведения в ящике каждая задача в моей книге воспроизведения выполняется для каждого хоста в файле инвентаризации, прежде чем перейти к следующей задаче.
Как я могу изменить это поведение для выполнения всех задач для хоста перед запуском на следующем хосте? В идеале я бы хотел иметь только одну пьесу.
Спасибо
Познакомьтесь с Rolling Updates:
То, что вы ищете, это
- hosts: webservers
serial: 1
tasks:
- name: ...
Стратегия позволяет распределять задачи по каждому хосту. См. Https://docs.ansible.com/ansible/latest/user_guide/playbooks_strategies.html.
Существует 3 стратегии: линейная (по умолчанию), последовательная, бесплатная (самая быстрая)
- hosts: all
strategy: free
tasks:
...
Используя --forks = 1, укажите количество параллельных процессов для использования (по умолчанию = 5)