速度のためにFacts収集を無効にする
Factsが不要な場合はsetupを省略します
「速度のためにFacts収集を無効にする」はCoddyKit上の無料Ansible Academyレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはAnsible Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Ansible Academyコースには全4レッスンが含まれています。
facts は無料ではない
facts を収集すると、タスクの実行前にすべてのホストとの間で追加の通信が発生します。大規模な環境では、これが実際の時間として積み重なります。🌟
facts が不要な場合
play で facts を一度も参照しないなら、収集は無駄な処理です。その play では、このステップを安全に無効化できます。
gather_facts キー
play レベルで gather_facts を false に設定すると、Ansible は Gathering Facts ステップ全体をスキップします。
- hosts: web
gather_facts: false違いを確認する
無効にすると、play の出力に Gathering Facts タスクが表示されなくなります。実際のタスクがすぐに開始されます。
PLAY [web] *****
TASK [Install app] *****グローバルに調整する
ansible.cfg で gathering を smart のようなより適切なモードに設定すると、すべての play に対する既定値を変更できます。
[defaults]
gathering = smartスマートな収集
smart モードでは、ホストごとに facts を 1 回だけ収集して再利用します。そのため、同じ実行中に繰り返す play では再調査されません。
一部だけを収集する
すべてをスキップするのではなく、収集範囲を絞ることもできます。gather_subset オプションを使うと、実際に使用する facts だけを収集できます。
- hosts: web
gather_subset:
- min必要なときに収集する
facts の収集をスキップしたものの、後で必要になった場合は、必要な場所に setup タスクを追加して、その時点で収集してください。
- ansible.builtin.setup:短い play に最適
サービスを再起動したり、1 つのコマンドを実行したりするだけの小さな play では、facts を使わないことがほとんどです。収集を無効にすると、明らかに高速になります。
思わぬ問題に注意する
後続のタスクがひそかに fact に依存している場合、収集を無効にすると未定義変数エラーが発生します。確実に不要な場合だけ無効にしてください。
速度と利便性のバランス
既定の収集は便利ですが、無効にすると少し利便性を失う代わりに速度を得られます。必要な情報に応じて play ごとに選択してください。
簡単な確認
play で facts が収集されないようにするには、どうすればよいですか。
まとめ
gather_facts: false で facts をスキップし、gather_subset で範囲を絞り、必要なときにオンデマンドで収集することで、play を高速化しました。✨
よくある質問
「速度のためにFacts収集を無効にする」レッスンは無料ですか?
はい。「速度のためにFacts収集を無効にする」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Ansible Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Ansible Academyコースには全4レッスンが含まれています。
「速度のためにFacts収集を無効にする」で何を学びますか?
Factsが不要な場合はsetupを省略します ブラウザで直接実行するハンズオンコードでAnsible Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Ansible Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのAnsible Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。
「速度のためにFacts収集を無効にする」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このAnsible Academyレッスンでコードを書いて実行できますか?
はい。すべてのAnsible Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- Factsとは何か、なぜ重要なのか
- setupモジュールでFactsを調べる
- タスクでansible_factsを使う
- 速度のためにFacts収集を無効にする