使用Ansible进行远程管理Windows服务器的第一步(Ansible适用于Windows)

这是关于 Ansible for Windows 的第二部分。
上一次我们总结了关于 Ansible 的安装。这次,作为服务器管理的第一步,我们将使 Windows Server 2016 服务器可以通过 Ansible 进行连接。

前一篇文章:在Windows10上从头开始安装Ansible
下一篇文章:添加一个网站到IIS的playbook示例

被管理的服务器端设置

    • Windows Server 2016 Std.

 

    • PowerShell 5.1

 

    • ActiveDirectory ドメインに属する

 

    ホスト名をw16srvとします

执行设置脚本

有一种名为ConfigureRemotingForAnsible.ps1的PowerShell脚本可执行各种设置。请下载并保存该脚本。

在w16test上以管理员模式启动PowerShell,并运行ConfigureRemotingForAnsible.ps1。
此脚本的详细信息将在另一篇文章中总结。

PS> .\ConfigureRemotingForAnsible.ps1 -Verbose -CertValidityDays 3650
詳細: Verifying WinRM service.
詳細: Enabling PS Remoting.
詳細: Enabled PS Remoting.
詳細: Setting LocalAccountTOkenFilterPolicy to 1
Self-signed SSL certificate generated; thumbprint: *********************************
詳細: Enabling SSL listener.


wxf                 : http://schemas.xmlsoap.org/ws/2004/09/transfer
a                   : http://schemas.xmlsoap.org/ws/2004/08/addressing
w                   : http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd
lang                : ja-JP
Address             : http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous
ReferenceParameters : ReferenceParameters

詳細: Enabling basic auth support.
詳細: Adding firewall rule to allow WinRM HTTPS.
OK

詳細: HTTP: Enabled | HTTPS: Enabled
詳細: PS Remoting has been successfully configured for Ansible.

这次是关于使用基本认证进行连接的配置。虽然官方文档中也有说明,但在实际运行时,应该采用更安全的配置进行操作。

确认联系

我们将通过以下步骤确认能够使用Ansible从先前设置的Ansible主机连接到w16srv。

创建连接用户

本次将在服务器w16svr上作为本地用户准备Ansible连接用户。
账户名:AnsibleAdmin
本地组:Administrators

准备库存文件。

在中国这里,我们将在“D:\Projects\SRE\Ansible\MyData”目录下创建一个名为“hosts”的文件,该文件是一个文本文件,用于定义管理的节点(例如服务器和数据库)。
在Docker启动时,“D:\Projects\SRE\Ansible\MyData”目录会被挂载到Docker内部的“/mydata”路径下。

[w16svr]
192.168.0.2

[w16svr:vars]
ansible_user=AnsibleAdmin
ansible_password=****************
ansible_port=5986
ansible_connection=winrm
ansible_winrm_server_cert_validation=ignore

执行ping命令

使用上次总结中提到的步骤,从管理员模式的PowerShell命令提示符连接到Ansible主机。

PS> docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED              STATUS              PORTS               NAMES
899225e6b593        my-ansible          "/bin/bash"         About a minute ago   Up About a minute                       sad_shannon
PS> docker exec -it 899225e6b593 /bin/bash
[root@899225e6b593 /]# 

我們將使用 Ansible 進行對 w16svr 的連通檢查。之前創建的庫存檔案「hosts」在 Docker 內可通過「/mydata/hosts」進行訪問。

[root@899225e6b593 /]# ansible w16svr -i /mydata/hosts -m win_ping
192.168.0.2 | SUCCESS => {
    "changed": false,
    "ping": "pong"
}

只要收到「成功」的返回信息,通信确认就可以了。

广告
将在 10 秒后关闭
bannerAds