ansible基础
ansible简介
什么是ansible
- ansible是2013年推出的一款IT自动化和DevOps软件,2015年被RedHat收购。是基于Python研发,糅合很多老运维I具的优点,实现了批量操作系统配置,批量程序部署, 批量运行命令等功能
- ansible可以实现:
自动化部署APP
自动化管理配置项
自动化持续交付
自动化( AWS )云服务管理
为什么选择ansible
- 选择一款配置管理软件,无外乎从以下几点来权衡利弊
活跃度(社区)
学习成本
使用成本
编码语言
性能
使用是否广泛
为什么选择ansible ( 续1 )
自动化工具 | Watch (关注) | Star点赞 | Fork (复制) | Contributors (贡献者) |
---|
Ansible | 1690 | 24105 | 8220 | 2776 |
SaltStack | 576 | 7835 | 3643 | 1832 |
Puppet | 502 | 4533 | 1872 | 446 |
Chef | 424 | 4907 | 2038 | 510 |
为什么选择ansible ( 续2 )
- ansible优点
只需要SSH和Python即可使用
无客户端
ansible功能强大 ,模块丰富
上手容易,门槛低
基于Python开发,做二次开发更容易
使用公司比较多,社区活跃
ansible特性
- 模块化设计,调用特定的模块完成特定任务
- 基于Python语言实现
paramiko
PyYAML (半结构化语言)
Jinja2 - 其模块支持JSON等标准输出格式,可以采用任何编程语言重写
ansible特性( 续1 )
- 部署简单
- 主从模式工作
- 支持自定义模块
- 支持playbook
- 易于使用
- 支持多层部署
- 支持异构IT环境
工作流程
- ansible大体执行过程
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sdzM0CqQ-1584180490822)(C:\Users\Administrator\Desktop\Ansible\图片\ansible1.png)]](https://img-blog.csdnimg.cn/20200314181311775.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQzMzk1NDI4,size_16,color_FFFFFF,t_70)
ansible安装
配置环境
IP | 主机名 |
---|
192.168.199.150 | web1 |
192.168.199.151 | web2 |
192.168.199.152 | web3 |
192.168.199.149 | web4 |
192.168.199.148 | web5 |
[root@web1 ~]
192.168.199.150 web1
192.168.199.151 web2
192.168.199.152 mysql1
192.168.199.149 mysql2
192.168.199.148 xl
[root@web1 ~]
[root@web1 ~]
[root@web1 ~]
[root@web1 ansible]
![在这里插入图片描述](https://img-blog.csdnimg.cn/2020031418444514.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQzMzk1NDI4,size_16,color_FFFFFF,t_70)
[root@web1 ansible]
[root@web1 ansible]
[root@web1 ~]
[ansible]
name=ansible
baseurl="file://192.168.199.254/var/ftp/ansible"
enabled=1
gpgcheck=0
[root@web1 ~]
[root@web1 ~]
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200314192058511.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQzMzk1NDI4,size_16,color_FFFFFF,t_70)
安装ansible
[root@web1 ~]
[root@web1 ~]
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200314192358197.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQzMzk1NDI4,size_16,color_FFFFFF,t_70)
[root@web1 ~]
> do
> rsync -av /etc/hosts ${i}:/etc/
> ssh ${i} reboot
> done
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200314204841256.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQzMzk1NDI4,size_16,color_FFFFFF,t_70)