windows下安装配置ansible

  • windows下安装配置ansible已关闭评论
  • 30 views
  • A+
所属分类:运维实战

 

ansible自动化部署工具,监控windows

本地搭建测试环境,windows 7

软件安装要求:

  1. python version>2.4(官方给的ansible最新安装包支持的python的环境)
  2. window环境(说实话,我不太喜欢windows,但是没办法啊):
  • 安装Framework 3.0+
  • 更改powershell策略为remotesigned
  • 升级PowerShell至3.0+
  • 设置Windows远端管理,英文全称WS-Management(WinRM

配置环境:

python安装

下载并安装python  http://www.python.org/ ,我这里安装的是python-2.7.3.msi,下载下来直接安装就行。

测试:cmd输入python如下,则可以了,如下图:

windows下安装配置ansiblePowerShell升级

window7默认安装的PowerShell默认版本是2.0,如下图:

windows下安装配置ansible

我们需要升级到3.0

首先,win+r,输入appwiz.cpl,点击左侧的已安装的更新,看一下你的计算机中是否安装了Microsoft Windows Management Framework 3.0 Beta (KB2506143),如果有的话就先把他卸载了。

然后在微软官网上下载.NET 4.0或者.NET 4.5

最后安装Microsoft Windows Management Framework 3.0的6.1内核版本安装文件,链接:http://download.microsoft.com/download/E/7/6/E76850B8-DA6E-4FF5-8CCE-A24FC513FD16/Windows6.1-KB2506143-x64.msu

安装完成后重启查询,version就是3.0了

设置Windows远端管理

 

winrm service 默认都是未启用的状态,先查看状态;如无返回信息,则是没有启动;

winrm enumerate winrm/config/listener

 

针对winrm service 进行基础配置:

winrm quickconfig

 

查看winrm service listener:

winrm e winrm/config/listener

 

为winrm service 配置auth:

winrm set winrm/config/service/auth @{Basic="true"}

 

为winrm service 配置加密方式为允许非加密:

winrm set winrm/config/service @{AllowUnencrypted="true"}

 

好了,远程Windows主机配置到此结束,我们验证配置的是否有问题。

 

Windows下可用模块测试

(1)win_ping —Windows系统下的ping模块,常用来测试主机是否存活
ansible windows -m win_ping

 

windows下安装配置ansible

 (2)win_copy—拷贝文件到远程Windows主机
传输/etc/passwd文件至远程F:\file\目录下

执行命令:

ansible windows -m win_copy -a 'src=/etc/passwd dest=F:\file\passwd'

 

返回结果:

192.168.1.105 | success >> {
    "changed": true,
    "checksum": "896d4c79f49b42ff24f93abc25c38bc1aa20afa0",
    "operation": "file_copy",
    "original_basename": "passwd",
    "size": 2563
}

 

部分返回结果诠释:

  • “operation”: “file_copy”—执行的操作为 file_copy;
  • “original_basename”: “passwd”—文件名为 passwd;
  • “size”: 2563—文件大小为 2563 bytes。

Playbook写法如下:

---
- name: windows module example
  hosts: windows
  tasks:
     - name: Move file on remote Windows Server from one location to another
       win_file: src=/etc/passwd dest=F:\file\passwd
(3)win_file —创建,删除文件或目录
删除F:\file\passwd

执行命令:

ansible windows -m win_file -a "path=F:\file\passwd state=absent"

返回结果:

192.168.1.105 | success >> {
    "changed": true
}
  • 我的微信
  • 微信扫一扫
  • weinxin
  • 微信公众号
  • 微信公众号扫一扫
  • weinxin
avatar