Ansible 是一种流行的开源自动化工具,用于配置管理、应用部署、任务执行等。以下是一些常见的 Ansible 术语及其解释:

  1. Action: 任务的一部分,指定要运行的模块以及传递给该模块的参数。
  2. Ad Hoc: 使用 /usr/bin/ansible 直接执行命令,而不是使用 /usr/bin/ansible-playbook 执行剧本。
  3. Async: 配置任务在后台运行,适用于预计运行时间可能超过 SSH 登录时长的任务。
  4. Callback Plugin: 用户编写的代码,可以从 Ansible 运行结果获取数据并进行处理。
  5. Check Mode: 使用 --ckeck 选项运行 Ansible,系统不会做出任何改变,只会输出可能发生的改变。
  6. Connection Type / Connection Plugin: Ansible 使用可插拔的库与远程系统通信,默认使用 OpenSSH。
  7. Conditionals: 根据表达式的结果决定是否在机器上执行特定任务。
  8. Diff Mode: 使用 --diff 标识传递给 Ansible,展示模板文件如何改变。
  9. Facts: 自动发现远程节点的信息,用于在模板中引用。
  10. Host Vars: 为特定主机分配变量,而不需要在 inventory 文件中嵌入太多变量。
  11. Idempotency: 确保命令只在需要时执行,描述系统的状态而非如何到达该状态。
  12. Includes: 在 playbook 文件中包含其他 plays 或任务列表。
  13. Inventory: 描述主机和组的 Ansible 文件。
  14. Inventory Script: 从外部资源获取主机、主机组成员和变量信息的程序。
  15. Limit Groups: 使用 --limit somegroup 参数限制命令的目标为主机的子集。
  16. Local Connection: 指定 playbook 管理本地主机而非远程机器。
  17. Local Action: 在 playbook 中指定步骤只在本地机器上运行。
  18. Loops: 通过 with_items 等实现任务的重复执行。
  19. Modules: Ansible 运行远程机器的单元,可以由任何语言编写。
  20. Notify: 任务状态改变时触发事件,通知处理任务在 play 的最后运行。
  21. Orchestration: 编排多个系统和组件按照特定顺序执行任务。
  22. Plays: 一个 playbook 包含一系列 plays,每个 play 指定在哪些主机上运行任务。
  23. Pull Mode: 节点定期检查配置指令并使用连接插件在本地管理机器。
  24. Push Mode: Ansible 的默认模式,通过复杂的编排过程控制节点。
  25. Register Variable: 将 Ansible 运行结果存储在变量中,以便在模板或条件语句中使用。
  26. Resource Model: Ansible 模块工作在资源上,确保资源属性匹配指定的模型。
  27. Roles: 包含变量、任务和处理程序的可重用单元。
  28. Rolling Update: 分批处理主机组中的节点,避免一次性更新导致系统离线。
  29. Runner: Ansible 核心组件,执行 playbook 中的每个任务。
  30. Serial: 控制滚动更新中同时更新的主机数量。
  31. SSH (Native): 使用 OpenSSH 作为传输方式,支持 Kerberos 和跳板机。
  32. Tasks: Playbooks 包含的任务,每个任务包含一个动作和一些可选关键字。
  33. Templates: 传输文件到远程系统并替换文件中的变量。
  34. Transport: Ansible 使用连接插件定义可用的传输类型。
  35. When: 可选关键字,根据表达式的结果决定是否执行任务。
  36. Vars (Variables): 在模板和剧本中应用的变量,可以是标量值、字典、列表等。
  37. YAML: Ansible 使用 YAML 来定义剧本和配置语言,易于人类阅读和编写。