Ansible是一种常用的自动运维化工具,基于python开发,分布式,无需客户端,轻量级,配置语言采用YAML。
基本信息
学习之前,我们先了解一下常用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 版本:
[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。
以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !