[toc]
Ansible基础知识
1.Ansible基本概述
Ansible是一个配置管理系统configuration management system你只需要可以使用ssh访问你的服务器或设备就行
1.1 Ansible能做什么
ansible可以帮助我们完成一些批量任务,或者完成一些需要经常重复的工作。
-
比如:同时在100台服务器上安装nginx服务,并在安装后启动服务。
-
比如:将某个文件一次性拷贝到100台服务器上。
-
比如:每当有新服务器加入工作环境时,你都要为新服务器部署某个服务,也就是说你需要经常重复的完成相同的工作。
这些场景中我们都可以使用到ansible。
1.2 Ansible软件特点
-
ansible不需要单独安装客户端,SSH相当于ansible客户端。
-
ansible不需要启动任何服务,仅需安装对应工具即可。
-
ansible依赖大量的python 模块来实现批量管理。
-
ansible默认配置文件是
/etc/ansible/ansible.cfg
1.3 Ansible基础架构
-
连接插件(connectior plugins) 用于连接主机 用来连接被管理端
-
核心模块(core modules) 连接主机实现操作, 它依赖于具体的模块来做具体的事情
-
自定义模块(custom modules) 根据自己的需求编写具体的模块
-
插件(plugins) 完成模块功能的补充
-
剧本(playbooks)ansible的配置文件,将多个任务定义在剧本中,由ansible自动执行
-
主机清单(host inventory)定义ansible需要操作主机的范围
最重要的一点是 ansible是模块化的 它所有的操作都依赖于模块

2. Ansible安装配置
提示
所有的受控主机必须与ansible服务端做ssh免密登陆
2.1 安装ansible(需要配置epel源)
yum -y install ansible
centos7.9安装的ansible版本为2.9.21
$ ansible --version
ansible 2.9.21
2.2 配置ansible
编辑主机清单文件
cat >> /etc/ansible/hosts<EOF
[host]
10.0.0.100
10.0.0.101
EOF
###############################
/etc/absible/hosts ansible主机清单配置文件
[host] 主机清单名
10.0.0.100 主机IP地址1
10.0.0.101 主机IP地址2