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/…
微信公众号:入门小站