標籤:ansible windows系統 批量管理 自動化營運
Ansible管理windows 安裝步驟
一、系統要求
1,管理機必須是Linux系統且需預先安裝Python Winrm 模組(本次使用Linux版本是CentOS Linux release 7.3.1611 (Core))。
2,底層通訊認證一些基於Kerberos ,Windows使用的串連工具為PowerShell而非SSH,我這裡測試的Windows版本是win7-32bit專業版。
3,遠程主機PowerShell版本為3.0+,Management Framework版本為3.0+。
4,需要安裝自動化佈建Windows遠端管理,英文全稱WS-Management(WinRM)
二、在伺服器端安裝ansible和相關的模組
安裝前準備的工作:
1,[[email protected]_3 ~]# yum -y install python-pip python-devel
解決沒有安裝python-pip故障
首先下載並安裝setuptools
[[email protected]_3 ~]# wget --no-check-certificate https://bootstrap.pypa.io/ez_setup.py
[[email protected]_3 ~]# sudo python ez_setup.py --insecure
[[email protected]_3 ~]# wget https://pypi.python.org/packages/11/b6/abcb525026a4be042b486df43905d6893fb04f05aac21c32c638e939e447/pip-9.0.1.tar.gz#md5=35f01da33009719497f01a4ba69d63c9
[[email protected]_3 ~]#tar -xf pip-9.0.1.tar.gz
[[email protected]_3 ~]#cd pip-8.0.0
[[email protected]_3 ~]#python setup.py install
[[email protected]_3 ~]#yum install gcc glibc-devel zlib-devel
[[email protected]_3 ~]#yum install rpm-build openssl-devel -y
2,正式安裝ansible
[[email protected]_3 ~]#yum -y install ansible
[[email protected]_3 ~]# ansible --version
三、在windows端先安裝.NET3.0及以上版本。
四、檢查你的powershell 版本是不是3.0不是請升級到3.0版本。
如果不是可以用指令碼進行升級;
https://github.com/cchurch/ansible/blob/devel/examples/scripts/upgrade_to_ps3.ps1
具體做法是,開啟上述連結,下載儲存在TXT文本後改檔案名稱為upgrade_to_ps3.ps1
然後使用powershell來運行指令碼來升級,升級後重新啟動windows系統。
五、設定你的powershell可以遠程執行,在註冊表改屬性值。具體目錄如下。
1,修改註冊表資訊:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds\ScriptedDiagnostics
2,自動化佈建Windows遠端管理(WS-Management,WinRM)下載補丁指令碼:
https://github.com/ansible/ansible/blob/devel/examples/scripts/ConfigureRemotingForAnsible.ps1 ;具體做法是,開啟上述連結,下載儲存在TXT文本後改檔案名稱為ConfigureRemotingForAnsible.ps1具體操作步驟和上面的類似;
3,往往在上一步操作過程中有很多問題,你還需要在Poweshell下面配置winrm:
winrm set winrm/config/service ‘@{AllowUnencrypted="true"}‘
winrm set winrm/config/service/auth ‘@{Basic="true"}‘
六、在Linux配置host檔案
1,[[email protected]_3 ~]#vim /etc/ansible/hosts
在最後一行添加一個windows模組主機群組
[windows]
192.168.0.36 ansible_ssh_user="Root" ansible_ssh_pass="123456" ansible_ssh_port=5985 ansible_connection="winrm"
2,在執行命令測試網路連通性
[[email protected]_3 ansible]# ansible windows -m win_ping
3,測試上傳一個WinRAR檔案到windows用戶端
[[email protected]_3 ansible]# ansible windows -m win_copy -a ‘src=/data/winrar_x64_5.40.0.0.exe dest=D:\ISO\’
七、我在測試的時候遇到2個小問題就一個是配置winrm時候需要時專用網路,如果你的電腦不是專用網路請改為一下域網路和家用網路只要不是公用網路就可以哦。
還有就是使用ansible windows -m win_ping 串連用戶端提示串連被拒絕,這裡我是改變了連接埠來解決的,在編輯vim /etc/ansible/hosts檔案下的連接埠,原來是5986把它改成5985即可使用。
Ansible管理windows