0Pricing
DevOps Bootcamp · 课时

阅读输出中的 changed 与 ok

理解一次运行实际执行了什么

阅读输出中的 changed 与 ok 是 CoddyKit 上的免费 DevOps Bootcamp 课时。 这是第 2 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 DevOps Bootcamp 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 DevOps Bootcamp 课程共包含 4 节课。

每个任务都会报告状态

每个任务完成后,Ansible 都会为每台主机输出一个状态。您最常看到的两个状态是 ok 和 changed,它们表达的情况不同。

ok 表示已经正确

ok 状态表示主机已经符合期望状态。任务执行了检查,但完全没有进行更改。

ok: [web1]

changed 表示执行了更改

changed 状态表示主机原本不符合要求,因此模块修改了某些内容,使其趋近于您声明的状态。

changed: [web1]

黄色与绿色

默认情况下,Ansible 会将 changed 输出为黄色,将 ok 输出为绿色。第二次运行时满屏绿色,正是您希望看到的结果。

PLAY RECAP 总结结果

最后,PLAY RECAP 会统计每台主机的各项数量:ok、changed、unreachable 和 failed。它是用一行信息完成的健康检查。

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

第二次运行应全部为 ok

将幂等执行手册运行两次后,第二次回顾应显示 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 连接。两种情况都会停止在该主机上的执行流程。

用 changed 验证幂等性

changed 数量就是您的幂等性指标。如果重复运行时仍持续报告更改,说明某个任务并不是真正的幂等任务。

使用 -v 查看更多详情

在 ansible-playbook 后添加 -v(或 -vv),即可获得详细输出,准确显示每个任务更改了什么以及为什么更改。

ansible-playbook site.yml -v

快速检查

您第二次运行同一个执行手册,回顾显示 ok=5 changed=0。

回顾

将 ok 理解为“已经正确”,将 changed 理解为“刚刚修复”。PLAY RECAP 和显示 changed=0 的重复运行证明您的执行流程具有幂等性。✅

常见问题解答

「阅读输出中的 changed 与 ok」课时是免费的吗?

是的 — 「阅读输出中的 changed 与 ok」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 DevOps Bootcamp 课程的其余内容,请升级到 CoddyKit PRO。 DevOps Bootcamp 课程共包含 4 节课。

「阅读输出中的 changed 与 ok」这节课中我会学到什么?

理解一次运行实际执行了什么 你通过在浏览器中直接运行的动手代码来练习 DevOps Bootcamp,全天候 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