Ansible 是基于python的经常使用自动化运维工具。之因此选ansible是由于它简单,不须要客户端,最关键的地方是其余的我没用过。html
Ansible 的管理主机必需要安装在linux环境下的,这个是官方的要求。系统是centos 7.4 ,python就不说了,系统默认必备的。Ansible 对于linux的管理我就不说了,网上大把的文章,咱们来研究一下ansible对Windows方面管理。python
环境搭建
Ansible 安装方法:linux
yum install ansible web
对,你没看错,就这么简单,固然有人喜欢自定义进行编译安装,我以为不必,centos 升级到7以后,不少东西都规范了,不像5或者6的时候,yum 和rpm安装的文件包位置很乱很差找,7以后呢,就在固定的文件夹下了,能够自行搜索。shell
修改配置文件,编辑/etc/ansible/ansible.cfg,指定hosts位置就行:windows
vi /etc/ansible/ansible.cfg
[hosts]
hostfile = /etc/ansible/hosts
gather_subset = all
#remote_user = root
#remote_port = 22
host_key_checking = false
warn=Falsecentos
Windows 链接模块安装:运维
yum install python-winrmide
这就完事了,是否是很简单啊。工具
接下来咱们在hosts文件中添加windows机器
[web]
iistest-2..com ansible_user=@*.COM ansible_password=** ansible_port=5985 ansible_connection=winrm ansible_winrm_transport=kerberos ansible_winrm_kinit_mode=managed
Iistest-2.***.com这是主机名,若是没有内部dns,这里能够填写IP地址
*我这边全部机器都加域了,全部就用域帐号和密码进行链接,域帐号使用user@DOMAIN.COM,域必须大写,不然验证不经过,验证方式是kerberos,关于认证方式能够查看官方文档http://docs.ansible.com/ansible/latest/userguide/windowswinrm.html?highlight=kerberos
ansiblewinrmkinitmode=managed 这里我选用自动,也能够选择manual手动模式,就是每隔一段时间都要使用验证命令进行验证,kinit user@DOMAIN.COM 而后输入密码,使用klist查看到期时间。
2.配置windows winrm管理
查询winrm状态
winrm enumerate winrm/config/Listener
winrm服务默认都是开着的,方便powershell远程管理,基本上不须要这么配置。有时候链接不上多是防火墙没有开通相应的策略。
其余的配置方法能够查看官方文档:http://docs.ansible.com/ansible/latest/user_guide/windows_setup.html#winrm-setup
而后测试一下效果