0Pricing
DevOps Bootcamp · レッスン

出力のchangedとokを読む

実行で実際に何が行われたかを解釈します

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

すべてのタスクがステータスを報告します

各タスクの後、Ansibleはホストごとにステータスを表示します。最もよく目にするのはokとchangedの2つで、それぞれ異なる状況を示します。

okはすでに正しいことを示します

okというステータスは、ホストがすでに望ましい状態と一致していたことを示します。タスクは確認を行いましたが、変更は一切加えていません。

ok: [web1]

changedは処理を行ったことを示します

changedというステータスは、ホストが望ましい状態と一致していなかったため、モジュールが宣言した状態へ収束するよう変更を加えたことを示します。

changed: [web1]

黄色と緑色の違い

デフォルトでは、Ansibleはchangedの出力を黄色、okの出力を緑色で表示します。2回目の実行で緑色一色になるのが、まさに望ましい状態です。

PLAY RECAPが結果を集計します

最後に、PLAY RECAPがホストごとのok、changed、unreachable、failedの件数を集計します。これは1行で確認できる健全性チェックです。

web1 : ok=4 changed=1 unreachable=0 failed=0

2回目の実行はすべてokになるはずです

冪等性のあるplaybookを2回実行すると、2回目のrecapにはchanged=0と表示されるはずです。再実行で変更が発生した場合は、調査する価値があります。

web1 : ok=4 changed=0 unreachable=0 failed=0

changedはエラーではありません

changedというステータスは成功を示しており、問題ではありません。ホストに処理が必要で、タスクが正しく実行したことを記録しているだけです。

skippingは条件が成立しなかったことを示します

skippingと表示されることもあります。これはwhen条件がfalseだったため、そのホストではタスクが実行されなかったことを示します。

skipping: [db1]

failedとunreachable

failedはタスクでエラーが発生したことを示します。unreachableは、AnsibleがSSHで接続することすらできなかったことを示します。どちらの場合も、そのホストでのplayは停止します。

changedで冪等性を検証します

changedの件数は、冪等性を測る指標です。繰り返し実行しても変更が報告され続けるなら、そのタスクは真に冪等ではありません。

-vで詳細を確認します

ansible-playbookに-v(または-vv)を追加すると、各タスクが何を変更したのか、なぜ変更したのかを示す詳細な出力が得られます。

ansible-playbook site.yml -v

簡単な確認

同じplaybookを2回目に実行すると、recapにok=5 changed=0と表示されます。

まとめ

okは「すでに正しい」、changedは「今回修正した」と読み取ります。PLAY RECAPと、changed=0となる再実行によって、playが冪等であることを確認できます。✅

よくある質問

「出力のchangedとokを読む」レッスンは無料ですか?

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

「出力のchangedとokを読む」で何を学びますか?

実行で実際に何が行われたかを解釈します ブラウザで直接実行するハンズオンコードでDevOps Bootcampを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

DevOps Bootcampを始めるのに経験は必要ですか?

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

「出力のchangedとokを読む」レッスンにはどのくらい時間がかかりますか?

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

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

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

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

  1. 手順ではなく望ましい状態を記述する
  2. 出力のchangedとokを読む
  3. commandが冪等性を壊す理由
  4. チェックモード:--checkによるドライラン
← DevOps Bootcampに戻る