共计 1415 个字符,预计需要花费 4 分钟才能阅读完成。
导读 | Ansible 是一个开源的配置管理工具,我们用于自动化任务、部署应用程序。使用 Ansible,您可以自动执行日常任务,例如更新系统、安装软件、和配置服务。 |
本文将介绍 Ansible 基本信息、为什么选择 Ansible 以及如何安装它。
学习之前,我们先了解一下常用 Ansible 术语:
- Control node: 任何安装了 Ansible 的主机。Ansible 控制节点主要用于在托管主机上运行任务。
- Managed nodes: 被 Ansible 管理的主机
- Inventory: 受控节点的列表。
- ansible.cfg: Ansible 的配置文件
模块是 Ansible 以执行常见任务的代码块,Ansible 中有丰富的模块。
Task 是 Ansible 在受控主机上执行的操作。还可以使用临时命令 (AD-HOC) 执行单个任务。Ansible playbook 是用 YAML 编写任务列表。
与 Chef 和 Puppet 不同,Ansible 是无代理的,这意味着你不必担心在受控节点上安装或配置任何包。由于 Ansible 不会在受控节点上安装任何软件或运行守护程序,因此对于如何升级 Ansible 毫无疑问。
Ansible 默认使用 SSH 协议在控制节点和受控节点之间进行通信。然后,Ansible 可以使用 SFTP 与其托管节点进行安全通信,以实现安全的文件传输。
Ansible 与受控节点并行通信,使其能够更快地运行自动化任务。默认情况下,forks 值为 5,但可以在配置文件中更改此值。
我创建了一个名为 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。