0Pricing
Ansible Academy · レッスン

setupモジュールでFactsを調べる

ホストのFactsツリーを出力して確認します

「setupモジュールでFactsを調べる」はCoddyKit上の無料Ansible Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはAnsible Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Ansible Academyコースには全4レッスンが含まれています。

fact の収集担当

非表示の Gathering Facts ステップでは、実際には 1 つのモジュールが処理を行っています。それが setup モジュールです。自分で呼び出して調査することもできます。🌟

setup をアドホック実行する

ホストを指定したアドホックコマンドで -m setup を使うと、そのホストのすべての fact ツリーを端末に直接出力できます。

ansible host1 -m setup

JSON として返される

出力は ansible_facts の下にある大きな JSON オブジェクトです。各キーは、後で playbook 内で使用できる fact です。

"ansible_facts": {
  "distribution": "Ubuntu"
}

情報量が多い

すべての情報を出力すると、数百行になることがあります。必要な情報を探すには、すべてをスクロールする代わりに facts をフィルタリングできます。

パターンでフィルタリングする

setup モジュールは filter 引数を受け取ります。glob パターンを渡すと、一致する fact キーだけが返されます。

ansible host1 -m setup -a "filter=ansible_distribution*"

よく使う facts を見つける

便利なキーには、ansible_distribution、ansible_os_family、ansible_memtotal_mb、ネットワーク用の ansible_default_ipv4 などがあります。

ネストされたネットワーク facts

一部の facts はネストされています。ホストの主な IP は ansible_default_ipv4 の中にあり、address キーをたどることで取得できます。

ansible_default_ipv4:
  address: 10.0.0.5

playbook 内の setup

タスクとして setup を指定し、play の途中で facts を再収集することもできます。ホスト上で何かを変更した後に便利です。

- name: Refresh facts
  ansible.builtin.setup:

収集する情報を制限する

gather_subset オプションで収集範囲を絞れます。たとえばネットワーク facts だけを収集すれば、必要な一部の情報だけを取得して setup を高速化できます。

- ansible.builtin.setup:
    gather_subset:
      - network

構築する前に調査する

最初に setup を実行するのは、とてもよい習慣です。ホスト上の実際の fact 名を確認してから、タスクで自信を持って参照できます。

読み取り専用で安全

setup モジュールは情報を読み取るだけで、ホスト上の内容を変更しません。調査のために何度でも実行できます。

簡単な確認

1 台のホストの facts を画面に出力するには、どうすればよいですか。

まとめ

setup モジュールを使って facts を出力およびフィルタリングし、playbook で利用する前に実際のキー名を確認しました。✨

よくある質問

「setupモジュールでFactsを調べる」レッスンは無料ですか?

はい。「setupモジュールでFactsを調べる」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Ansible Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Ansible Academyコースには全4レッスンが含まれています。

「setupモジュールでFactsを調べる」で何を学びますか?

ホストのFactsツリーを出力して確認します ブラウザで直接実行するハンズオンコードでAnsible Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Ansible Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのAnsible Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。

「setupモジュールでFactsを調べる」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このAnsible Academyレッスンでコードを書いて実行できますか?

はい。すべてのAnsible Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. Factsとは何か、なぜ重要なのか
  2. setupモジュールでFactsを調べる
  3. タスクでansible_factsを使う
  4. 速度のためにFacts収集を無効にする
← Ansible Academyに戻る