运维配置自动化ansible
1.自动化列举
1.1 操作系统预备自动化
例如PXE
1.2.配置自动化
ansible
1.3.监控自动化
- 系统与应用监控 zabbix
- 日志监控 ELK
1.4.代码持续集成与代码持续发布自动化
git、Jenkins、docker等
2.配置自动化应用场景
2.1大量服务器快速配置应用部署,通过配置自动化实现。
- 提供配置效率
- 提高配置的准确性
- 降低人工参与度
2.2配置自动化的相关产品
序号
工具
描述
1
ansible
开箱即用,使用ssh协议
2
saltstack
需要agent端配合,配置部署速度快
3
puppet
咯安排配置自动化,需要agent端配合
3.ansible工作原理
3.1原理
无主无从架构,开箱即用,用完即走。
modules:工具模块
host inventory:主机清单
play books:剧本,批量操作多台机器
3.2总结:
- 主机
- ansible
- 模块
- 主机清单
- ssh
- playbooks
4.ansible安装和主机配置
4.1安装ansible
寻找一台主机作为ansible controller,其它节点通过试试协议进行连接操作。
sudo apt install ansible -y
4.2主机清单
4.2.1主机清单的作用
ansible controller在对主机进行操作时,仅认主机清单中定义的主机列表,即从主机清单中读取到主机列表时,才可以进进行配置。
- 用于ansible controller配置主机时读取主机列表
- 实现主机分组
4.2.2 主机清单定义方法
主机清单存储位置:
/etc/ansible/hosts
在最后追加主机
[testservers]
192.168.108.135
192.168.108.136
4.2.3 总结:
作用:
- 读取主机ip或主机名称
- 实现主机分组操作
配置:
- 直接在主机清单文件中添加ip或主机名
- 在主机清单中添加一个分组,然后再添加ip或主机名但分组中
5.ansible应用案例
5.1开通远程免密登录
(PS:这里使用root用户,也可以使用普通用户,不通用户名称,需要在ssh-copy-id后面配置)
在ansible controller机器中(控制机),生成root的密钥对,并设置私钥密码为空
# 切换到root
sudo su
# 生成ansible controller机器的密钥对,并设置私钥密码为空
ssh-keygen -t rsa -f /root/.ssh/id_rsa -N ''
# 同步密钥到对应主机
# 此时对应主机还没有密钥对(即/root/.ssh目录都没有)
# 一次认证,后面都是免密登录
ssh-copy-id sw1@192.168.108.135
ssh-copy-id sw2@192.168.108.136
免密登录设置完毕。
5.1.1免密登录注意事项
设置什么用户免密登录,只能该用户进行免密登录。
例如,ansible controller机器在用户sw用户下,设置sw1和sw2机器的免密登录,那么ansible controller机器只能sw用户免密登录到sw1和sw2,不能用root免密登录到sw1和sw2。
5.2设置主机清单
5.2.1编辑/etc/ansible/hosts
vim /etc/ansible/hosts
[testservers]
sw1@192.168.108.135
sw2@192.168.108.136
5.3 执行时钟同步
# ansible ip -m modeule<m> -a args
# 例如
ansible sw1@192.168.108.135 -m cron -a 'name="test cron" job="ntpdate time1.aliyun.com" minute=0 hour=*/1'
5.4 copy本地(ansible controller)文件到远程主机
ansible testservers -m copy -a 'src=/home/sw/copy_dir_test dest=/root/'
5.5 ping远程主机
ansible testservers -m ping
总结
写到这里也结束了,在文章最后放上一个小小的福利,以下为小编自己在学习过程中整理出的一个关于 java开发 的学习思路及方向。从事互联网开发,最主要的是要学好技术,而学习技术是一条慢长而艰苦的道路,不能靠一时激情,也不是熬几天几夜就能学好的,必须养成平时努力学习的习惯,更加需要准确的学习方向达到有效的学习效果。
由于内容较多就只放上一个大概的大纲,需要更及详细的学习思维导图的 点击我的Gitee获取。
还有 高级java全套视频教程 java进阶架构师 视频+资料+代码+面试题!
全方面的java进阶实践技术资料,并且还有技术大牛一起讨论交流解决问题。