ホストの現在のホスト名をansibleで印刷するにはどうすればよいですか


12

ユーザーがマシンにログインするときにmotdを編集する役割を書きましたが、マシンのホスト名を出力するようにmotdをパーソナライズしたいです

どの変数を使用しますか?またはこれをどのように行うのですか?テンプレート?どうやって?copy modulemotdファイルに使用しました

たとえば、「$ hostnameへようこそ」と言いたいので、ansibleを使用してこのホスト名を解析するにはどうすればよいですか?

回答:


20

これにはテンプレート -module を使用する必要があります。

タスクの例を次に示します。

- name: Create motd
  template: src="motd.j2" dest="/etc/motd"

ファイルmotd.j2(ロールのテンプレート-サブディレクトリに配置)は、次のようになります。

Welcome to host {{ansible_hostname}}!

{{ansible_hostname}}はホスト名に置き換えられます。

必ずロールで「事実を収集 」してください。そうしないと、変数が空になります。


どのように私は、「事実を集める」ん...ありがとう?
助成金のテーラー

おかげで動作します。しかし、「事実を収集する」とはどういう意味ですか?
付与テーラー

事実を収集するために、ドキュメントに2つのリンクを追加しました。
rndmh3ro

1
ansible_eth0.ipv4.addressいくつかの深刻な検索の後にそれを見つけました..これは吸う...ドキュメントサイトで見つけやすく、明確に言及する必要がある非常に重要な変数があることを知っている必要があります
付与テーラー

1
ansible docsで「IPアドレス」を検索すると、最初のリンクで簡単に見つけることができます。ホストのアドレスを取得する方法に関する2つの異なる方法を示す段落全体もあります!
rndmh3ro
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.