Sobes.tech
Senior

Wie man Ansible dazu bringt, das Playbook sequenziell auf einem Host auszuführen (zur Aktualisierung des Postgres-Clusters)?

sobes.tech KI

Antwort von AI

Чтобы Ansible выполнял плейбук последовательно по одному хосту, нужно использовать параметр serial с значением 1 в плейбуке. Это заставит Ansible обрабатывать хосты по одному, что полезно для обновления кластера, чтобы избежать одновременного обновления всех узлов.

Пример:

- hosts: postgres_cluster
  serial: 1
  tasks:
    - name: Обновление Postgres
      yum:
        name: postgresql
        state: latest

Также можно использовать --forks=1 при запуске ansible-playbook, чтобы ограничить количество параллельных процессов одним.

ansible-playbook playbook.yml --forks=1