Ansible的安装和部署
为什么要使用Ansible
Ansible
是RHEL系统中用于一对多进行及其管理的工具.
可以实现在当前主机执行命令,对指定清单中所有的受控主机执行对应操作.
实验环境
- 至少三台主机(无论是真实主机还是虚拟机)
- 一台用于当作Ansible服务端
- 两台用于充当受控主机
- 服务端需要安装epel源和Ansible软件
Ansible的安装
Ansible
在默认软件源中不提供,如果想要安装需要额外添加epel
源
##安装epel源(这里使用的是RHEL官方源)
dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm -y
##安装Ansible
dnf install ansible -y
##查看Ansible版本信息
ansible --version
##Ansible配置信息相关
/etc/ansible/ansible.conf ##全局配置文件,默认很少修改
/etc/ansible/hosts ##全局主机清单清单文件
构建Ansible清单
##清单就是Ansible控制主机的列表
/etc/ansible/hosts ##清单文件
清单的书写有多种方式
##直接书写受控主机名或IP,每行一个
Node1.test.org
Node2.test.org
172.25.254.36
##设定受管主机的组[组名称]
##与组相关的查看方法
ansible all --list-hosts ##查看所有受控主机
ansible Test --list-hosts ##查看Test组中的受控主机
ansible ungrouped --list-hosts ##查看不在任何组中的受控主机
##同时也可以搭配`-i`参数指定清单文件
ansible -i /mnt/inventory Test --list-hosts ##查看mnt目录中inventory文件中Test组的受控主机
##单层清单
[Test]
Node1.test.org
Node2.test.org
[Node]
Node1.node.org
Node2.node.org
##嵌套清单
[Test]
Node1.test.org
Node2.test.org
[Node]
Node1.node.org
Node2.node.org
[Box:children]
Test
Node
##这样则查询Box组时包括两个单层清单的所有受控主机
主机规格的范围化操作
上面采用的方式都是枚举的,但实际操作中如果主机非常多而且有序,可以采用范围化限制的方法
[Test]
172.25.254.[1:10]