一、ansible介绍
一、ansible介绍
ansible运行的基本过程图
需要学习的目标
一、什么是ansible
Ansible首次发布于2012年,作者MichaelDeHaan
- MichaelDeHaan也是cobbler的作者
- 于2015年被redhat收购
Ansible是一款自动化运维工具、基于python开发
- 批量系统配置
- 批量程序部署
- 批量运行命令等功能
Ansible是一个it自动化配置管理工具自动化主要体现在absible集成了丰富模块丰富的功能组件,可以通过一个命令行完成一些列的操作。进而减少重复性的工作和维护成本,以提高工作效率。
如在10台服务器上安装nginx服务
假设我们要在10台linx服务器上安装一个nginx服务,手动如何作的?
- 第一步、ssh登陆NUM(1..n)服务器
- 第二步、输入对应服务器密码
- 第三步、安装yum install nginx
- 第四步、启动systemctl start nginx
- 第五步、退出登录
如此循环十次
Ansible可以完成这些功能
- 批量执行远程命令,可以对n台主机同时进行命令的执行
- 批量配置软件服务,可以进行自动化的方式配置和管理服务
- 实现软件开发功能,jumpserver底层使用ansible来实现自动化管理
- 编排高级的IT任务,ansible的playbook是一门编程语言可以用来描绘一台IT的架构。
Ansible的特点
- 容易学习,无代理模式,不像saltstack既要学客户端与服务端,还需要学习客户端与服务端中间通讯协议
- 操作灵活,体现在Ansible有较多的模块,提供了丰富的功能、playbook则提供类似于编程语言的复杂功
- 简单易用体现在Ansible一个命令可以完成很多事情。
- 安全可靠因为Ansible使用了SSH协议进行通讯,联稳定也安全
- 移植性高,可以将写好的playbook拷贝至任意机器进行执行
Ansible的python只能是2.7.5.不能升级到python3
控制端与被控端必须有python
Ansible–version 解析
- Ansible版本:2.9.72
- 配置文件:/etc/ansible/ansible.cfg
- 配置模块查找的路径:
- /home/gegewu/.ansible/plugins/modules
- /usr/share/ansible/plugins/modules
- Python模块路径:/usr/lib/python2.7/site-packages/ansible
- 执行位置: /usr/bin/ansible
Ansible存在优先级问题
Ansible的配置文件可以存放在任何位置,但配置文件有读取顺序,先Ansible配置做一个基本了解。ansible的配置文件有查找顺序(可通过ansible –version查看):
- 最先查找SANSIBLECONFIG变量
- 其次查找当前日录下ansible.cfg
- 然后查找用户家日录下的.ansible.cfg
- 最后查找’etc/ansible/ansible.cfg(认)
例1:测试优先级第二个配置文件项目目录下的ansible.cfg
在家目录创建一个项目
再到没有项目的目录时:前面三个没找到 推到最后一个配置文件
例2:测试优先级第三个配置文件家目录下的.ansible.cfg
例3:测试优先级最后一个个配置文件:/etc/ansible/ansible.cfg
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.
Comment