私は、2つのサーバでマスター/スレーブレプリケーションをセットアップすることを可能にする単純なmariadbロールを持っています。これを行うために、私は自分のインベントリにこのような私の2つのノードを定義する必要があります。この道をマスタ/スレーブ変数を動的に割り当てます。
node1 master=true
node2 slave=true
を、私は文は、このVARSで遊んでたときにAnsibleを使用してセットアップマスタ/スレーブレプリケーションのセットアップ1つの役割をすることができます。
- name: Setup master conf
template: >-
src="templates/master.conf.j2"
dest="{{ master_config_file }}"
when:
- master is defined
今、私は他のすべてのノードへの動的かつランダムに一つのノードにマスター変数を割り当てることができ、より自動何か、およびスレーブ変数を取得したいと思います。
私は変数とフィルタについていくつかのAnsibleドキュメントを見てきましたが、どれもそれに適応していないようです。私はそれをするために私自身のAnsible変数プラグインを開発しなければならないと思う。
「ランダム」は自動化の敵です。予測可能な冪等規則を定義し、それに従ってください(私はこれが標準的なフィルタ/演算子ででき、開発は必要ないと確信しています)。 –
ランダムには、ノードのリスト内のマスターサーバーをランダムに選択することを意味します。このようにして、私が私のVMをスポーンすると、そのどれも特化されません。私は彼らが自動的に私の最初のAnsibleを専門とするようにしたいと思います。返信いただきありがとうございます。私は、既存のAnatileフィルタをもう一度見直し、必要なものが見つからない場合は実装します。 – Quentin91360
プレイブックを再実行しているのは何ですか? –