这个小孩在成长的过程中,会不会梦想着成为一名战斗机飞行员呢。哈哈这我咋知道,但我知道你跑题了。好吧!
前面写了些关于监控方面的内容,今天介绍自动化在我们团队里的应用,通过标题大家知道,我们主要选择salt,但要使用salt功能是需要部署agent的,那在OS没有安装salt-minion之前,如何快速批量部署salt-minion呢。当然是salt-ssh啊,它是依赖ssh来进行远程命令执行的工具,同时也能够应用salt state状态管理,好处是不需要客户端任何配置,只需ssh服务即可。最关键的是能够应用salt state状态管理。
Salt ID命名规范
使用salt之前,需要有一套id的命名规范,为什么会认为ID命名很重要,主要是在使用的过程中,命名不规范,在定位主机时,会遇到各种不爽。关于命令规则有2个原则可以参考
1. 资源命名应以快速搜索,或者快速定位某个应用/某台主机为目的
2. 以组为单位,不要精确到某个具体应用,除非主机挪为它用
Excel转换YAML功能
若单次部署服务器数量多的情况下,通过程序转换会快许多。这里用到pyexcel模块,使用前需要安装
Excel表格样例
使用说明
Python脚本,核心功能已实现,但没有对表格里的数据是否合法进行验证。
转换后的内容(/etc/salt/roster)
编写Salt State(SLS)
目录结构
├── files
│ └── minion
├── init.sls
└── setting.jinja
变量定义(setting.jinja)
定义了些常规变量,多个数据中心,并且在1个数据中心内支持多个salt master
安装salt-minino sls编写(init.sls)
我们salt key中已包含数了据中心的信息,下面的sls里会基于saltid来识别主机属于哪个数据中心。
配置文件(files/minion)
minion配置文件主要修改2个参数。文件其它内容省略了。
部署前加上test参数,确认没问题的情况下再部署
部署salt-minion
若觉得文章还行,那就关注我公众号吧!
如何快速实现自动部署Salt-Minion
领取专属 10元无门槛券
私享最新 技术干货