Ansible 是一款简略的运维自动化工具,只须要应用 ssh 协定连贯就能够来进行系统管理,自动化执行命令,部署等工作。
Ansible 的长处
- 不须要装置客户端, 不须要运行服务
- 应用 python 开发的一套主动执行工作的模块
- playbook 采纳 yaml 配置, 构造清晰
Ansible 的组成构造
- Ansible: 外围命令工具, 一次性或临时性执行的操作都由该工具执行
- Ansible playbook: 工作剧本(又称工作集), 编排定义 Ansible 工作集的配置文件, 由 Ansible 执行, 格局是
yaml
- Inventory:Ansible 治理的主机, 在
/etc/ansible/hosts
中配置 - Modules:Ansible 执行命令的功能模块,Ansible2.3 版本为止,共有 1039 个模块。还能够自定义模块。
- Plugins: 插件,模块性能的补充,常有连贯类型插件,循环插件,变量插件,过滤插件,插件性能用的较少。
- API: 提供给第三方程序调用的应用程序编程接口。
Ansible 罕用的功能模块
命令模块
command
shell
文件模块
copy
fetch
file
装置模块
yum
服务模块
service
挂载模块
mount
定时工作
cron
用户模块
group
user
压缩解压
unarchive
Ansible 装置
> yum install ansible -y
配置主机
> vim /etc/ansible/hosts
[web]
192.168.2.10 ansible_ssh_port=22 ansible_ssh_user=rumenz ansible_ssh_pass="123456"
192.168.2.11 ansible_ssh_port=22 ansible_ssh_user=rumenz ansible_ssh_pass="123456"
咱们定义了一个
web
组(能够加很多主机),Ansible
默认应用的是ssh
协定, 指定好端口, 账号, 明码就能够了。
除了应用账号, 明码的模式配置, 咱们也能够用秘钥, 前面拜访。
测试
> ansible web -m ping
web
就是下面咱们定义的分组,-m
我前面指定模块, 这里咱们应用ping
模块, 用于查看主机是否网络可达。
应用 Ansible
执行 pwd
命令
> ansible web -m shell -a "pwd"
这里咱们应用的是
shell
模块,-a
前面跟上须要执行的shell
命令
应用 Ansible
查看 web
分组下 nginx
服务是否在运行
> ansible web -m shell -a "ps -ef | grep nginx"
应用 Ansible
简略批量装置redis
> ansible web -m shell -a "yum install redis -y"
留神简单的软件装置, 须要编写
Ansible playbook
配置文件, 更加灵便。
原文链接:https://rumenz.com/rumenbiji/…
微信公众号: 入门小站