Подтвердить что ты не робот

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

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

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

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

Спасибо

4b9b3361

Ответ 1

Познакомьтесь с Rolling Updates:

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

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

Ответ 2

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

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

- hosts: all
  strategy: free
  tasks:
    ...

Ответ 3

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