【Ansible】实施 Ansible Playbook知识点
1.清单概念与静态清单文件是什么?
答:Ansible 清单是被管理主机的列表,用于明确Ansible的管理范围,分为静态清单和动态清单。静态清单是通过手动编辑的文本文件来定义被管主机,文件格式可以是INI格式或YAML格式。
在INI格式的静态清单中,可直接列出主机的IP地址或主机名,还能对主机进行分组,分组名称用中括号括起来。也支持嵌套分组,通过 “:children” 关键字实现。
2.Ansible的配置文件及组成部分有哪些?
答:配置文件:-ansible.cfg,用于配置多个Ansible工具的行为。
-"ansible-navigator.yml,用于更改ansible-navigator命令的默认选项。管理Ansible设置。
ansible.cfg配置文件由多个部分组成,每个部分用中括号指定。常见的部分及配置项包括 “[defaults]” 部分和 “[privilege_escalation]” 部分。“[defaults]”部分可设置默认清单文件路径、远程用户、默认模块等。“[privilege_escalation]” 部分用于配置特权升级相关设置,如是否允许特权升级、默认升级方法等。
3.基础 Playbook 结构
答:Ansible Playbook采用YAML格式编写,以”---"开头,以”...”结束(可省略),一个基础的Playbook结构包含多个“plays”,每个“play” 由多个主要部分组成。其中,“name” 是对该play的描述,便于识别和维护;“hosts” 用于指定该play针对的主机或主机组,从清单中选取;“tasks” 则定义一系列任务,每个任务通过“name”描述,并指定使用的模块及参数。
4.如何启用特权升级?
答:在play中配置特权升级。使用become布尔关键字可以为单个play或任务启用或禁用特权升级。此操作会覆盖ansible.cfg配置文件中的设置。可使用yes或true来启用特权升级,也可使用no或false来禁用特权升级。如become: true
如果启用特权升级,可以在play中使用become_method关键字来指定要对相应play使用的特权升级方法。如用become_method: sudo命令指定以sudo为特权升级方法。
5.如何查看模块信息?
答:要查看当前自动化执行环境中可用的模块列表,可运行ansible-navigator doc -l命令。这将显示模块名称列表以及其功能的概要。
使用ansible-navigator doc modu le_name命令可显示模块的详细文档。如果指定-m stdout选项,您的终端会显示格式化文档。如果不指定该选项,而选择ansible-navigator留在交互模式,您可以滚动浏览YAML格式的文档。
除此之外,您也可以在交互模式中运行ansible-navigator collections命令,浏览当前自动化执行环境中的集合及其模块的文档。