目录
- Ansible
- Ansible简介
- Ansible的特性
- Ansible的基本组件
- Ansible安装(rhel8/rhel9)
- [1. rhel8安装](#1. rhel8安装)
- [1.1 配置epel源](#1.1 配置epel源)
- [1.2 安装ansible](#1.2 安装ansible)
- [1.3 验证](#1.3 验证)
Ansible
Ansible简介
- Ansible是一个IT自动化工具。它能配置系统、部署软件、编排更复杂的IT任务,如连续部署或零停机滚动更新
- Ansible使用python编写,市面上已经有很多可供选择的配置管理解决方案(例如Saltstack,Puppet,Chef等),但他们各有优劣,而Ansible的特点在于他的简洁。让Ansible在主流的配置管理系统种与众不同的一点是:它并不需要你在被管节点上安装代理软件
Ansible的特性
- Agentless(无代理模式):不需要在被管节点上安装代理软件,只需要有sshd服务即可
- Serverless(无服务模式):在服务端不需要启动任何的服务,只需要执行命令即可
- Modules in any language:基于模块工作,可以使用任意语言去开发Ansible模块
- YAML:使用yaml语言定制playbook
- SSH by default:默认使用ssh控制各个节点
- Strong multi-tier solution:可实现多级控制
Ansible的基本组件
- 核心:ansible
- 核心模块(Core Modules):这些都是ansible自带的模块
- 扩展模块(Custom Modules):如果核心模块不足以完成某种功能,可以添加扩展模块
- 插件:完成模块功能的补充
- 剧本(playbook):把需要完成的任务定义在剧本中
- 连接插件:ansible基于连接插件连接到各个主机上,虽然他是默认使用ssh,但是它还支持其他的方法
- 主机清单:ansible在管理多台主机时,可以只针对其中一部分来操作
Ansible安装(rhel8/rhel9)
1. rhel8安装
Ansible的安装方式有多种,常用的就是使用yum安装或者,使用yum安装需要配置epel源
1.1 配置epel源
bash
# 如果不配置epel源直接安装的话是会报错的,因为没有这个软件包
[root@ansible ~]# yum install ansible -y
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
No package ansible available.
Error: Nothing to do
# 配置epel
[root@ansible ~]# yum install epel-release -y
......中间输出省略
Complete!
1.2 安装ansible
bash
[root@ansible ~]# yum install ansible -y
1.3 验证
bash
[root@ansible ~]# ansible --version
ansible 2.9.27
config file = /etc/ansible/ansible.cfg
configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python2.7/site-packages/ansible
executable location = /usr/bin/ansible
python version = 2.7.5 (default, Jun 28 2022, 15:30:04) [GCC 4.8.5 20150623 (Red Hat 4.8.5-44)]
看到有输出就是安装完成了