Ansible关于windows的管理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ansible关于windows的管理相关的知识,希望对你有一定的参考价值。

Ansible 是基于python的常用自动化运维工具。之所以选ansible是因为它简单,不需要客户端,最关键的地方是其他的我没用过。
Ansible 的管理主机必须要安装在linux环境下的,这个是官方的要求。系统是centos 7.4 ,python就不说了,系统默认必备的。Ansible 对于linux的管理我就不说了,网上大把的文章,我们来研究一下ansible对Windows方面管理。

  1. 环境搭建
    Ansible 安装方法:
    yum install ansible
    对,你没看错,就这么简单,当然有人喜欢自定义进行编译安装,我觉得没必要,centos 升级到7之后,很多东西都规范了,不像5或者6的时候,yum 和rpm安装的文件包位置很乱不好找,7之后呢,就在固定的文件夹下了,可以自行搜索。
    修改配置文件,编辑/etc/ansible/ansible.cfg,指定hosts位置就行:
    vi /etc/ansible/ansible.cfg
    [hosts]
    hostfile = /etc/ansible/hosts
    gather_subset = all
    #remote_user = root
    #remote_port = 22
    host_key_checking = false
    warn=False

    Windows 连接模块安装:
    yum install python-winrm
    这就完事了,是不是很简单啊。
    接下来我们在hosts文件中添加windows机器
    [web]
    iistest-2..com [email protected] ansiblepassword= ansibleport=5985 ansibleconnection=winrm ansiblewinrmtransport=kerberos ansiblewinrmkinitmode=managed
    Iistest-2..com 这是主机名,如果没有内部dns,这里可以填写IP地址
    我这边所有机器都加域了,所有就用域账号和密码进行连接,域账号使用[email protected],域必须大写,否则验证不通过,验证方式是kerberos,关于认证方式可以查看官方文档http://docs.ansible.com/ansible/latest/userguide/windowswinrm.html?highlight=kerberos
    ansiblewinrmkinitmode=managed 这里我选用自动,也可以选择manual手动模式,就是每隔一段时间都要使用验证命令进行验证,kinit [email protected] 然后输入密码,使用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

    然后测试一下效果
    技术分享图片

  3. 到这里基本上就完事了,余下的就是编写yml文件了,这个正在学习中。

以上是关于Ansible关于windows的管理的主要内容,如果未能解决你的问题,请参考以下文章

ansible管理windows server怎么部署

讲真,Ansible 可以管理Windows?

windows server使用ansible管理

Ansible管理windows

[转帖]Ansible管理windows集群

Ansible配置管理Windows主机