setupモジュールでFactsを調べる
ホストのFactsツリーを出力して確認します
「setupモジュールでFactsを調べる」はCoddyKit上の無料DevOps Bootcampレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはDevOps Bootcamp学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 DevOps Bootcampコースには全4レッスンが含まれています。
fact の収集担当
非表示の Gathering Facts ステップでは、実際には 1 つのモジュールが処理を行っています。それが setup モジュールです。自分で呼び出して調査することもできます。🌟
setup をアドホック実行する
ホストを指定したアドホックコマンドで -m setup を使うと、そのホストのすべての fact ツリーを端末に直接出力できます。
ansible host1 -m setupJSON として返される
出力は 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.5playbook 内の 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チューター)、DevOps Bootcampコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 DevOps Bootcampコースには全4レッスンが含まれています。
「setupモジュールでFactsを調べる」で何を学びますか?
ホストのFactsツリーを出力して確認します ブラウザで直接実行するハンズオンコードでDevOps Bootcampを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
DevOps Bootcampを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのDevOps Bootcampは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。
「setupモジュールでFactsを調べる」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このDevOps Bootcampレッスンでコードを書いて実行できますか?
はい。すべてのDevOps Bootcampレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- Factsとは何か、なぜ重要なのか
- setupモジュールでFactsを調べる
- タスクでansible_factsを使う
- 速度のためにFacts収集を無効にする