web-dev-qa-db-ja.com

Ansible-各ホストのプレイブックを順番に実行する方法

Ansibleを使用して、APIのデプロイメントをスクリプト化しています。インベントリファイル内の各ホストを順番に処理して、一度に1台のマシンに完全に展開できるようにします。

Out boxの振る舞いでは、次のタスクに進む前に、プレイブックの各タスクがインベントリファイルの各ホストに対して実行されます。

次のホストで開始する前に、ホストのすべてのタスクを実行するようにこの動作を変更するにはどうすればよいですか?理想的には、プレイブックを1つだけ持ちたいです。

ありがとう

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