windows客戶端安裝ansible環境,支持ansible遠程控制

什麼是ansible

windows客戶端安裝ansible環境,支持ansible遠程控制

ansible是一款基於python語言開發的開源的輕量級自動化運維工具,它實現了批量系統配置、批量程序部署、批量運行命令等功能的自動化運維,具體介紹見我以前的文章鏈接:http://www.toutiao.com/i6468798399129846285/

ansible能否管控windows主機?

雖然ansible是為linux量身打造的自動化運維工具,但是ansible也考慮到windows server的存在,所以也是支持windows端的。雖然不像linux主機那麼豐富易用,但是可以實現linux大部分常用模塊功能。

在windows為ansible支持準備環境

windows必須條件:

  • powershell版本必須是3.0及以上版本

  • powershell權限ExecutionPolicy必須設置為RemoteSigned或者Unrestricted

windows的環境配置

ansible官方為了簡化windows配置,給出了二個powershell腳本用來自動化配置環境,下載鏈接如下:

https://github.com/cchurch/ansible/blob/devel/examples/scripts/upgrade_to_ps3.ps1

https://github.com/ansible/ansible/blob/devel/examples/scripts/ConfigureRemotingForAnsible.ps1

第一個是升級powershell到3.0的腳本,第二個是自動配置ansible環境。先將二個腳本下載下來,然後按以下步驟來配置:

  • 使用管理員權限,打個powershell,設置Set-ExecutionPolicy為RemoteSigned或者Unrestricted

windows客戶端安裝ansible環境,支持ansible遠程控制

設置powershell執行權限

使用Get-ExecutionPolicy驗證

windows客戶端安裝ansible環境,支持ansible遠程控制

驗證是否執行成功

  • 執行upgrade_to_ps3.ps1升級powershell到3.0,此處請注意,會自動重啟windows;若已經是3.0可以忽略些步

  • 執行ConfigureRemotingForAnsible.ps1自動配置ansible環境

ansible主控端(linux server)必須條件

  • ansible主控端(一般為linux server)必須安裝pywinrm,必須是0.2.2及以上版本

    pip install "pywinrm>=0.1.1"

驗證

在linux主控端的/etc/ansible/hosts加上一行windows主機連接配置,使用windows本地用戶認證(支持多種認證類型,根據需求配置,詳見官網)。

win-server ansible_user="Administrator" ansible_password="password" ansible_port="5986" ansible_connection="winrm" ansible_winrm_server_cert_validation="ignore"

參數解析

  • ansible_user:連接windows的用戶

  • ansible_password:連接windows的用戶密碼

  • ansible_port:連接端口

  • ansible_connection:連接方式,ansible其實是使用windows自帶的遠程管理服務winrm來遠程控制的,默認端口是5986

  • ansible_winrm_server_cert_validation:忽略服務證書驗證

連接測試

ansible win_hostname -m win_ping

win_hostname | SUCCESS => {

"changed": false,

"ping": "pong"

}

寫在最後

ansible支持很多的windows模塊,官網截圖如下:

windows客戶端安裝ansible環境,支持ansible遠程控制

ansible支持的windows模塊一

windows客戶端安裝ansible環境,支持ansible遠程控制

ansible支持的windows模塊二

使用方法請查詢官網,這裡不做講解。

@請關注木納哥的頭條,後續內容更精彩@

相關推薦

推薦中...