Ansible 是一个开源的配置管理工具,我们用于自动化任务、部署应用程序。使用 Ansible,您可以自动执行日常任务,例如更新系统、安装软件、和配置服务。
本文将介绍Ansible基本信息、为什么选择 Ansible 以及如何安装它。
基本信息
学习之前,我们先了解一下常用Ansible术语:
节点信息
Control node: 任何安装了 Ansible 的主机。Ansible 控制节点主要用于在托管主机上运行任务。
Managed nodes: 被Ansible管理的主机
Inventory: 受控节点的列表。
ansible.cfg: Ansible的配置文件
模块
模块是 Ansible 以执行常见任务的代码块,Ansible中有丰富的模块。
Task和Playbook
Task是 Ansible 在受控主机上执行的操作。还可以使用临时命令(AD-HOC)执行单个任务。Ansible playbook 是用 YAML 编写任务列表。
为什么使用Ansible?
无需安装agent
与 Chef 和 Puppet 不同,Ansible 是无代理的,这意味着你不必担心在受控节点上安装或配置任何包。由于 Ansible 不会在受控节点上安装任何软件或运行守护程序,因此对于如何升级 Ansible 毫无疑问。
Ansible 使用 SSH 进行通信
Ansible 默认使用 SSH 协议在控制节点和受控节点之间进行通信。然后,Ansible 可以使用 SFTP 与其托管节点进行安全通信,以实现安全的文件传输。
Ansible 并行执行任务
Ansible 与受控节点并行通信,使其能够更快地运行自动化任务。默认情况下,forks 值为 5,但可以在配置文件中更改此值。
安装Ansible
我创建了一个名为 Master 的控制节点和四个受控节点(node1、node2、node3 和 node4),它们都运行Centos8。
Ansible 可以安装在任何机器上,但对控制节点有要求。控制节点应安装 Python 2 (2.7) 或 Python 3(3.5 或更高版本)。不支持 Windows 控制节点。
下面在Master控制节点中使用dnf包管理器来安装ansible:
[root@Master ~]# yum -y install epel-release && yum -y install ansible
可以检查一下已安装的 Ansible 版本:
http://www.cctime.com/html/2022-7-15/1624162.htm
http://www.citnews.com.cn/news/202208/147996.html
https://www.csdn.net/article/2022-08-22/126463414
https://www.51cto.com/it/news/2022/1008/34753.html
[root@Master ~]# ansible --version
ansible 2.9.27
config file = /etc/ansible/ansible.cfg
configured module search path = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python3.6/site-packages/ansible
executable location = /usr/bin/ansible
python version = 3.6.8 (default, Oct 7 2019, 17:58:22) [GCC 8.2.1 20180905 (Red Hat 8.2.1-3)]
通过ansible --version可以看到ansible的版本为:ansible 2.9.27,配置文件位置在/etc/ansible/ansible.cfg。下一篇文章介绍如何配置ansible。