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
而後測試一下效果