随着业务规模的增长,运维人员单人运维多台服务器的场景越来越多,与之对应的是运维工作量的大量增长。在传统运维模式中,对于基于图形界面的Windows服务器,即使一个简单的运维任务,也需要单独登录每台服务器进行重复操作。这样的运维模式无疑是低效的。基于上述的痛点问题,平台维护室希望通过搭建基于Ansible的Windows服务器集中运维系统,来解决运维痛点,提升工作效能。

ansible 升级到指定版本 ansible window_运维

     系统实现什么功能呢?首先是高效,我们希望能一次性运维多台机器,避免多次登录去执行重复性的任务,节约运维人员的工作量以及时间;第二是易用,我们希望能在服务端进行简单配置后就能实现功能,且本次配置后续依旧可用;第三是能实现复杂功能,我们希望可以实现复杂任务的下发,而不是仅可以实现简单任务。

     那如何去实现?分解来看,我们需要解决以下几个问题。第一就是Windows登录。Windows常规的登录方式为为远程桌面方式,这显然是不能够满足批量运维的需求的。Linux远程登录多数基于ssh,而Windows也具备自己的类似ssh的登录工具,即WinRM,可以实现远程命令行方式登陆。第二就是如何将普通的图形化运维动作转换为命令行语言。Windows原生支持bat批处理脚本语言,且具备自身的cmd及powershell,可以提供绝大多数的常见运维功能。第三就是复杂运维任务的实现,自动化运维工具方面选择开源的Ansible,Ansible原生支持yaml格式的任务化脚本语言,可以将复杂运维任务写成playbook形式的脚本话语言,来完成复杂运维任务的实现。

      在创新性方面,对已有的日常Windows图形化运维任务进行脚本化转化,着力解决日常工作中的难点问题。在自主性方面,基于Ansible基础开发playbook脚本,excel模板文件转换为host文本功能,使系统更为易用。在效益性方面,若投入生产,可以大大降低运维人员的负担,降低重复性工作,实现效能提升。