ときどきAnsible日記

主にITインフラ基盤の自動化に関する事を書いているブログです

ホストグループ毎に変数を分けたい(group_varsが使えないVer)

お疲れ様です。伊藤です。

急に連日投稿を始めましたが暇になったわけではありません。あしからずm(_ _)m


Inventoryファイルに作業をさせたいターゲットサーバを記載しある程度のグループを作り、そのグループごとに変数を分けたい場合、基本的にはgroup_varsを使用します。が、先日使ってみたらぜんぜんうまく呼び出せませんでした...(´Д`)
その原因追求については後ほど行いたいと思いますが、取り急ぎグループ単位に変数が設定できないと困る!というそこのあなたに向けて、別の方法をご提案いたします。

とまあ、えらそうに書きましたが全く難しくありません。Inventoryファイルにグループ毎の変数が書けるからです。書き方はこちら

[test_server_group01]
192.168.1.1
192.168.1.2

[test_server_group02]
192.168.1.11
192.168.1.12

[test_server_group01:vars]
test_value=value1

[test_server_group02:vars]
test_value=value2

という感じ。たとえば、グループ毎に作成するユーザを分けたい場合や、配布するHostsファイルが変わる場合にはここで宣言しておくとよろしいかと思います。ただし!!Ansibleは色んなところで変数が宣言できて、しかも後乗せな感じで後からどんどん上書きされます!なのでほかの場所で同様の変数を使用していないことを確認してください。

お疲れ様でした。