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 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
Ansible关于windows的管理

winrm服务默认都是开着的,方便powershell远程管理,基本上不需要这么配置。有时候连接不上可能是防火墙没有开通相应的策略。

其他的配置方法可以查看官方文档:http://docs.ansible.com/ansible/latest/user_guide/windows_setup.html#winrm-setup

然后测试一下效果
Ansible关于windows的管理

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

转载于:https://blog.51cto.com/489807/2105723

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用Ansible管理Windows主机,但需要进行一些配置和安装。以下是大致的步骤: 1. 安装Python 2.7 或 3.x,以及pip(用于安装Ansible) 2. 安装pywinrm模块(用于与Windows主机通信) 3. 安装Windows主机上的WinRM服务,并进行一些配置 4. 在Ansible控制节点上创建一个inventory文件,并将Windows主机添加到其中 5. 编写Ansible playbook来执行需要在Windows主机上执行的任务 这里提供一个简单的示例inventory文件: ``` [windows] winserver ansible_host=192.168.1.10 ansible_user=user_name ansible_password=user_password ansible_connection=winrm ansible_winrm_transport=ntlm ansible_winrm_server_cert_validation=ignore ``` 其中,winserver是Windows主机的别名,ansible_host是Windows主机的IP地址,ansible_user和ansible_password是Windows主机的用户名和密码,ansible_connection是连接类型,这里使用WinRMansible_winrm_transport是WinRM的传输协议,这里使用NTLM,ansible_winrm_server_cert_validation是WinRM的证书验证方式,这里设置为忽略。 然后,就可以使用Ansible来执行任务了。例如,以下是一个简单的playbook,用于在Windows主机上安装IIS: ``` - name: Install IIS hosts: windows tasks: - name: Install IIS win_feature: name: Web-Server state: present ``` 要执行此playbook,请在Ansible控制节点上运行以下命令: ``` ansible-playbook -i inventory_file playbook.yml ``` 其中,inventory_file是inventory文件的路径,playbook.yml是playbook的文件名。 这只是一个简单的示例,Ansible可以执行更复杂的任务和操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值