• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            Fork me on GitHub
            隨筆 - 215  文章 - 13  trackbacks - 0
            <2025年8月>
            272829303112
            3456789
            10111213141516
            17181920212223
            24252627282930
            31123456


            專注即時(shí)通訊及網(wǎng)游服務(wù)端編程
            ------------------------------------
            Openresty 官方模塊
            Openresty 標(biāo)準(zhǔn)模塊(Opm)
            Openresty 三方模塊
            ------------------------------------
            本博收藏大部分文章為轉(zhuǎn)載,并在文章開頭給出了原文出處,如有再轉(zhuǎn),敬請(qǐng)保留相關(guān)信息,這是大家對(duì)原創(chuàng)作者勞動(dòng)成果的自覺尊重!!如為您帶來不便,請(qǐng)于本博下留言,謝謝配合。

            常用鏈接

            留言簿(1)

            隨筆分類

            隨筆檔案

            相冊(cè)

            Awesome

            Blog

            Book

            GitHub

            Link

            搜索

            •  

            積分與排名

            • 積分 - 219203
            • 排名 - 117

            最新評(píng)論

            閱讀排行榜

            http://blog.csdn.net/kellyseeme/article/details/50636813

            1、    Windows下如何工作

            在ansible控制linux的時(shí)候,用的是ssh的方式,在windows中,使用的是power shell,在客戶端機(jī)器上也是不用裝任何客戶端的。

            在控制windows機(jī)器的時(shí)候,使用的模塊為“winrm“。

            2、    在控制機(jī)上安裝

            在linux控制機(jī)器上安裝模塊winrm:

            pip install "pywinrm>=0.1.1"

             

            3、    動(dòng)態(tài)目錄的支持

            如果想連接動(dòng)態(tài)目錄下的domain賬戶,那么必須安裝python-kerberos模塊在控制機(jī)上,并且需要安裝MIT krb5庫。還需要在動(dòng)態(tài)目錄中配置正確的賬戶。

            3.1 安裝python-kerberos的依賴

            # Via Yum
            yum -y install python-devel krb5-devel krb5-libs krb5-workstation
             
            # Via Apt (Ubuntu)
            sudo apt-get install python-dev libkrb5-dev
             
            # Via Portage (Gentoo)
            emerge -av app-crypt/mit-krb5
            emerge -av dev-python/setuptools
             
            # Via pkg (FreeBSD)
            sudo pkg install security/krb5
             
            # Via OpenCSW (Solaris)
            pkgadd -d http://get.opencsw.org/now
            /opt/csw/bin/pkgutil -U
            /opt/csw/bin/pkgutil -y -i libkrb5_3
             
            # Via Pacman (Arch Linux)
            pacman -S krb5

             

             

            3.2 安裝python-kerberos

            安裝的時(shí)候執(zhí)行如下指令即可:

            pip install kerberos

             

             

            3.3 配置kerberos

            編輯配置文件/etc/krb5.conf,在其中添加如下的信息,在每個(gè)想連接的domain中。

            找到如下開頭的節(jié):

            [realms]

             

            添加domain的全稱,并且添加主要和次要的動(dòng)態(tài)目錄域的全名稱,如下例子:

            [realms]
             
             MY.DOMAIN.COM = {
             kdc = domain-controller1.my.domain.com
             kdc = domain-controller2.my.domain.com
             }

             

            并且在【domain_realm】節(jié)中添加每個(gè)你想連接的域:

            [domain_realm]
                .my.domain.com = MY.DOMAIN.COM

             

            3.4 測(cè)試kerberos連接

            如果安裝了krb5-workstation(yum)或者krb5-user(apt_get),那么可以用如下的命令測(cè)試是否被域控制器授權(quán):

            kinit user@MY.DOMAIN.COM

             

            注意域的部分必須是全稱,并且必須全部為大寫。

            查看獲得的tickets,可以使用命令如下:

            klist

             

            3.5 解決kerberos連接問題

            如果使用kerberos不能進(jìn)行連接,那么檢查下列問題:

             

            確保正向和反向DNS在域中能正常解析,在做這個(gè)解析的時(shí)候,首先ping服務(wù)器的名稱,然后nslookup服務(wù)器的ip地址,會(huì)返回服務(wù)器的名稱

            如果在返回的服務(wù)器名稱和ping的服務(wù)器名稱不一致,檢查動(dòng)態(tài)目錄中的DNSScavenging 是開啟的,并且DNS和DHCP是相互更新的;

             

            確保ansible控制機(jī)在domain中配置了賬戶屬性。

            檢查ansible控制機(jī)的在域控制器中是時(shí)鐘異步的,kerberos是對(duì)時(shí)間敏感的,一點(diǎn)時(shí)間的偏差會(huì)導(dǎo)致tickets失效

             

            確保用的是域全名稱,可以使用下面的命令進(jìn)行檢查:

            kinit -C user@MY.DOMAIN.COM
            klist

             

            當(dāng)獲取到不同的域名稱的時(shí)候,必須更新配置文件krb5.conf,在其中使用域的全名稱。

            4、    inventory

            ansible對(duì)windows的支持依賴于幾個(gè)常用的變量來表示用戶名,密碼,連接類型(windows),如下所示:

            [windows]
            winserver1.example.com
            winserver2.example.com

             

             

            在group_vars/windows.yml中,定義以下inventory變量:

            # it is suggested that these be encrypted with ansible-vault:
            # ansible-vault edit group_vars/windows.yml
             
            ansible_user: Administrator
            ansible_password: SecretPasswordGoesHere
            ansible_port: 5986
            ansible_connection: winrm
            # The following is necessary for Python 2.7.9+ when using default WinRM self-signed certificates:
            ansible_winrm_server_cert_validation: ignore

             

            5、    關(guān)于powershell版本

            Powershell為3.0版本或者更高,只有windows7 sp1,windows server 2008 sp1,和以后的版本支持。

            6、    哪些模塊是可用的

            Windows支持的模塊在以下網(wǎng)址中可以找到:

            http://docs.ansible.com/ansible/list_of_windows_modules.html

            可以使用script模塊來運(yùn)行powershell腳本,也可以在playbook中使用,如下:

            - hosts: windows
              tasks:
                - script: foo.ps1 --argument --other-argument

             

            注意有的模塊并不以win開頭,如下:

            “slurp”, “raw”, and “setup” 

            7、    獲得windows的fact

            ansible winhost.example.com -m setup

             

            8、    Windows的playbook例子

            下面例子表示推送和運(yùn)行powershell腳本的例子:

            - name: test script module
              hosts: windows
              tasks:
                - name: run test script
                  script: files/test_script.ps1

             

             

            運(yùn)行單個(gè)命令的時(shí)候,使用raw模塊,在linux中是使用command或者shell模塊:

            - name: test raw module
              hosts: windows
              tasks:
                - name: run ipconfig
                  raw: ipconfig
                  register: ipconfig
                - debug: var=ipconfig

             

            運(yùn)行DOS命令的時(shí)候,可以使用CMD /C開頭,并且用雙引號(hào)進(jìn)行包括,如下:

            - name: another raw module example
              hosts: windows
              tasks:
                 - name: Move file on remote Windows Server from one location to another
                   raw: CMD /C "MOVE /Y C:\teststuff\myfile.conf C:\builds\smtp.conf"

             

             

            最后一個(gè)例子用win_stat模塊測(cè)試文件是否存在,注意返回的日期和linux中稍有不同:

            - name: test stat module
              hosts: windows
              tasks:
                - name: test stat module on file
                  win_stat: path="C:/Windows/win.ini"
                  register: stat_file
             
                - debug: var=stat_file
             
                - name: check stat_file result
                  assert:
                      that:
                         - "stat_file.stat.exists"
                         - "notstat_file.stat.isdir"
                         - "stat_file.stat.size>0"
                         - "stat_file.stat.md5"

             

             

            posted on 2017-11-10 10:34 思月行云 閱讀(805) 評(píng)論(1)  編輯 收藏 引用 所屬分類: 服務(wù)器\Ops

            FeedBack:
            久久er99热精品一区二区| 日产精品99久久久久久| 国产99久久九九精品无码| 国内精品久久国产| 久久久久女人精品毛片| 国产日韩欧美久久| 久久久久黑人强伦姧人妻| 亚洲熟妇无码另类久久久| 久久99精品久久久久久野外 | 性做久久久久久免费观看| 色欲久久久天天天综合网| 国产日韩欧美久久| 精品久久久久久亚洲| 97久久精品无码一区二区| 久久久噜噜噜久久熟女AA片 | 中文字幕无码久久精品青草| 国产精品久久久久久久| 久久亚洲精品无码AV红樱桃| 久久99国产精品久久99| 97精品伊人久久久大香线蕉| 久久综合九色欧美综合狠狠| 色婷婷综合久久久中文字幕| 久久久久亚洲av成人无码电影 | 国产精品视频久久久| 蜜臀av性久久久久蜜臀aⅴ麻豆| 国产69精品久久久久APP下载| 亚洲av成人无码久久精品| 久久精品毛片免费观看| 久久露脸国产精品| 久久香蕉国产线看观看精品yw| 国内精品久久久久久久亚洲| 久久久久久毛片免费看| 久久精品a亚洲国产v高清不卡| 狠狠色综合网站久久久久久久| 丁香色欲久久久久久综合网| 69SEX久久精品国产麻豆| 亚洲午夜久久久久久久久电影网| 久久免费99精品国产自在现线| 青青热久久综合网伊人| 久久99精品国产自在现线小黄鸭 | 91麻豆国产精品91久久久|