私のインベントリでは、次のようにホストを定義します。
[server1]
141.151.176.223
server1
サーバーのホスト名を定義するために使用しているため、名前を保持する変数を探しています。
inventory_hostname
に設定され141.151.176.223
ansible_hostname
ているだけでなく、inventory_hostname_short
に設定されてい148
ます。
この問題を回避するために、私は次のように独自の変数を設定しています。
[server1]
141.151.176.223 hostname=server1
しかし、私はこのアプローチに満足していません。
何か案は?
説明
インベントリファイルがこのように定義されている場合:
[server1_group]
server1 ansible_host=141.151.176.223
次に、以下にアクセスできます。
server1
inventory_hostname
事実;
141.151.176.223
ansible_host
事実;
server1_group
with group_names|first
(group_names
ファクトにはサーバーが属するすべてのグループのリストが含まれ、first
そのリストから最初の要素を選択します)。
上記に関係なく、ansible_hostname
factには、ホスト自体で定義されたホスト名が含まれます(値はファクトの収集中に設定されます)。
解決
標準のansible_host
宣言を使用してターゲットのIPアドレスをポイントし、インベントリのホスト名を設定する必要がありますが、Ansibleプレイブックでサーバーを参照する必要があります。
特に、グループ定義を完全にスキップして、次のように定義することができます。
server1 ansible_host=141.151.176.223
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加