Ansible 的安装及部署
1. Ansible 对于企业运维的重大意义
- Ansible 是新出现的自动化运维工具,主要适用于一台主机同时控制多台主机,实现了批量系统配置、批量程序部署、批量运行命令等功能。需要注意的是ansible是基于模块工作的,本身没有批量部署的功能,真正具有批量部署的是ansible所运行的模块
- Ansible 的实验可以使用三台主机,可使真机作为 Ansible 服务器,也就是作为主控机。再使用两台虚拟机作为被控机,三台主机之间是可以实现网络互通的。两台受控主机不需要做环境设定。
Ansible 172.25.254.39
node1 172.25.254.100
node2 172.25.254.200
2. Ansible 的安装
镜像文件是不提供 ansible 服务的,所以需要使用 epel 源安装该服务,可以使用阿里云的 epel 源或者官方提供的 epel 源。
注意:如果之前安装过阿里云的epel源而后删除了,那么再去重新安装时,就会出现提示安装包已经安装过,但是却仍然无法下载服务的情况,此时可以输入rpm -qa | grep epel
命令找到 epel 的软件包,再输入rpm -e
软件包将软件包删除后再重新下载即可。
搭建 epel 源
[root@Ansible mnt]# wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
[root@Ansible mnt]# rpm -ivh epel-release-latest-8.noarch.rpm
[root@Ansible mnt]# cd /etc/yum.repos.d/
[root@Ansible yum.repos.d]# ls ##安装完成之后,会在软件仓库所在位置生成 epel 源
epel-modular.repo epel.repo epel-testing.repo westos.repo
epel-playground.repo epel-testing-modular.repo redhat.repo
- 安装 ansible;
搭建完成之后,此时便可开始安装 ansible;
[root@Ansible yum.repos.d]# dnf install ansible.noarch -y
[root@Ansible yum.repos.d]# ansible --version ##查看当前的版本
- ansible 的基本信息
/etc/ansible/ansible.cnf ##全局配置文件,默认很少修改
/etc/ansible/hosts ##全局主机清单清单文件
3. 构建 Anisble 清单
清单就是 ansible 控制主机的列表
/etc/ansible/hosts ##全局清单文件
命令 | 含义 |
---|---|
ansible 清单中组名称 [-i 清单文件] - -list-hosts | 查看某个组列表中的清单,加上中括号的内容表示列出某个文件中的所有主机 |
ansible ungrouped - -list-hosts | 查看全局清单文件中,不属于任何组的主机 |
ansible all - -list-hosts | 查看全局清单文件中的全部主机列表 |
- 单层清单的书写及查看
直接书写受管主机名或 ip,每行一个;
(1)设定
[root@Ansible ~]# rpm -qc ansible
/etc/ansible/ansible.cfg
/etc/ansible/hosts
[root@Ansible ~]# vim /etc/ansible/hosts
45 [westos]
46 172.25.254.100