关于ansible和ansible-playbook命令的信息。论ansible和ansible-playbook命令
●Ansible
Ansible是由红帽公司开发的开源配置管理工具。其源代码是用Python编写的。
与Chef和Puppet不同,Ansible是一种无代理配置管理工具。无需代理即可在受控设备上进行操作,通过SSH从执行环境直接连接进行工作。
Ansible是一种“推送型”配置管理工具,可在执行环境中进行配置。而Chef和Puppet则是一种“拉取型”,受控设备自行获取信息并进行配置。
除了配置管理外,Ansible还具有部署应用程序和自动化多个系统配置的编排功能。
Ansible的默认配置文件是“/etc/ansible/ansible.cfg”。
■ Ansible 组件
– 清单(Inventory)
描述管理节点(Managed nodes)的文件。默认清单文件位于 “/etc/ansible/hosts”。
・模块
是执行任务(要执行的处理单位)的主体处理部分。也是任务插件或库插件。
可通过命令行或Playbook(任务集合)的任务来执行。
提供了许多模块,可以创建和管理VMware虚拟机或Docker容器,收集和配置Cisco、Juniper等主要网络设备的信息。
将多个任务写在一个名为Playbook的文件中,使用YAML(一种结构化数据格式)进行记录。
以下是原文的中文翻译:
● Ansible命令
一个临时执行的命令,需要指定一个模块(任务执行的实际操作)。
ansible-playbook命令是用于执行包含多个任务的Playbook文件的命令。通过这个命令可以同时在多个受控节点上执行多个任务。
ansible命令和ansible-playbook命令的格式、主要选项
■ansible 管理目标节点 选项
■ansible-playbook 播放脚本 选项
共通选项:
– -i | -inventory 指定库存
– -u | -user 指定远程用户进行SSH连接
– -k | -ask-pass 询问SSH密码
– -b | -become 提升权限(如sudo)执行任务
– -K | -ask-become-pass 询问提升权限的密码
– -C | -check 以检查模式(DryRun)运行
ansible的选项:
– -m|–module-name 指定模块
– -a|–args 指定模块的参数。
在这里我只需要一个选项:解释ansible-playbook的选项 -—syntax-check 只执行playbook的语法检查。
以下是Playbook的格式:
– 使用”-“开始列表,利用缩进方式对齐列表中的成员。
– 每个设定使用”键: 值”形式进行描述。
在执行Ansible命令时,将按以下顺序搜索设置选项,并使用首次检测到的选项。
-
- 環境变量 ANSIBLE_CONFIG
-
- 当前目录下的 “ansible.cfg”
-
- 主目录下的 “ansible.cfg” 或者 “.ansible.cfg”
- “/etc/ansible/ansible.cfg”