0Pricing
Ansible Academy · レッスン

Strategy:linear、free、host_pinned

Play がホストを処理する方法を変更します。

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

Strategyがペースを決める

strategyプラグインは、playのタスクをホストがどのように進めるかを決めます。すべてのホストが足並みをそろえるのか、それぞれのペースで進むのかを制御します。

linearがデフォルト

デフォルトのlinear戦略では、すべてのホストで1つのタスクを実行し、全ホストの完了を待ってから、次のタスクへ一斉に進みます。

- hosts: web
  strategy: linear

linearが遅くなる理由

linearでは、各タスクで最も遅いホストが全体の進行を遅らせます。速いサーバーも、遅いホストが完了してplayが進むまで待機します。

freeでホストを自由に走らせる

free戦略では待ち合わせがなくなります。各ホストは、他のホストが追いつくのを待たず、自分のペースでタスクをできるだけ速く進めます。

- hosts: web
  strategy: free

freeは順序と引き換えに速度を得る

freeでは、ホストごとに完了するタイミングが異なり、出力も混在します。速度を得られる一方で、タスク単位で足並みをそろえる整然とした同期は失われます。

freeが有効な場面

ホスト同士が独立していて、一部のホストが大幅に遅い場合はfreeを選びます。あるホストがステップを完了してから別のホストを開始する必要がある場合は避けてください。

host_pinnedを知る

host_pinned戦略では、ワーカーがそのホストの処理完了まで1台のホストに割り当てられ続けます。フリート全体をラウンドロビン方式で処理することはありません。

- hosts: web
  strategy: host_pinned

Pinningが役立つ理由

新しいホストを処理する前に現在のホストを最後まで完了させることで、host_pinnedは同時に処理するマシン数を抑えます。これにより、ライセンスサーバーなどのバックエンドへの負荷を軽減できます。

Playごとに設定する

Strategyはplayレベルのキーです。そのため、1つのファイル内でもplayごとに異なる戦略を使用できます。各作業フェーズに最適な戦略を選んでください。

デフォルトを設定する

ansible.cfgのstrategyキーで、プロジェクト全体のデフォルトを選択できます。playごとの設定で上書きした場合は、そちらが優先されます。

[defaults]
strategy = free

Strategyとforksの組み合わせ

Strategyはホストの進み方を決め、forksは同時に実行するホスト数の上限を決めます。望むスループットを得るには、両方を組み合わせて調整します。

クイックチェック

バッチ内の1台のホストだけが他より大幅に遅く、playの進行を止めています。

まとめ

linearはホストの足並みをそろえ、freeはホストを独立して進ませ、host_pinnedは1台のホストを完了してから次を開始します。playごとに選択してください。🏁

よくある質問

「Strategy:linear、free、host_pinned」レッスンは無料ですか?

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

「Strategy:linear、free、host_pinned」で何を学びますか?

Play がホストを処理する方法を変更します。 ブラウザで直接実行するハンズオンコードでAnsible Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

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

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

「Strategy:linear、free、host_pinned」レッスンにはどのくらい時間がかかりますか?

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

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

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

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

  1. forks と並列実行のチューニング
  2. Strategy:linear、free、host_pinned
  3. SSH Pipelining と接続の再利用
  4. serial とローリングバッチ実行
← Ansible Academyに戻る