2016-07-29 7 views
2

私はマスターホストで始まり、リモートホストで特定のアクションを実行するプレイブックを持っています。これは「プッシュ」モードです。アクティビティはマスターホストによって開始されます。「プルモード」でプレイブックを実行することはできますか?

私のホストのいくつかは特定の時間にダウンしており、そのような状態になっていると明らかにプレイブックを実行できません。これは最新のホストにつながり、他のホストはそうではありません。

これを修正するには、通常の方法で(たとえばcron経由で)マスターホスト上でプレイブックを実行できますが、これは特に効果的ではありません。

リモートホストからマスターで利用可能なプレイブックを開始し、そのリモートホストで実行するためのフローを逆にすることができますか?

リモートホストが(ブート時などの)起動時にマスターにsshして、そのホストをパラメータとして(またはそのアイデアの周りに)プレイリストを起動することは想像できますが、私は間違いなくAnsible機能を再発明するのではなく、

答えて

5

デフォルトのプッシュアーキテクチャであるAnsibleを元に戻すスクリプトansible-pullがあります。また、入手可能なAnsible開発者のexample playbookもあります。

ansible-pullモードの使用は、本当にシンプルでストレートフォワードです
3

は、この例では、あなたを助けるかもしれない:

ansible-pull -d /root/playbooks -i 'localhost,' -U [email protected]:arbabnazar/pull-test.git --accept-host-key 

オプションの詳細:詳細については

1. --accept-host-key: adds the hostkey for the repo url if not already added 
2. -U: URL of the playbook repository 
3. -d: directory to checkout repository to 
4. –i localhost,: This option indicates the inventory that needs to be considered. 
        Since we're only concerned about one host, we use -i localhost,. 

を、このtutorial

を参照してください。
関連する問題