1. 程式人生 > >Ansible關於windows的管理

Ansible關於windows的管理

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 [email protected] ansiblepassword= ansibleport=5985 ansibleconnection=winrm ansiblewinrmtransport=kerberos ansiblewinrmkinitmode=managed

    Iistest-2..com 這是主機名,如果沒有內部dns,這裏可以填寫IP地址
    我這邊所有機器都加域了,所有就用域賬號和密碼進行連接,域賬號使用[email protected],域必須大寫,否則驗證不通過,驗證方式是kerberos,關於認證方式可以查看官方文檔http://docs.ansible.com/ansible/latest/userguide/windowswinrm.html?highlight=kerberos
    ansiblewinrmkinitmode=managed 這裏我選用自動,也可以選擇manual手動模式,就是每隔一段時間都要使用驗證命令進行驗證,kinit [email protected] 然後輸入密碼,使用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

    然後測試一下效果
    技術分享圖片

  3. 到這裏基本上就完事了,余下的就是編寫yml文件了,這個正在學習中。

Ansible關於windows的管理