使用Ansible自动管理Windows Server 2019和Windows 10

您可以通过以下链接以PDF格式下载本文来支持我们。以PDF格式下载指南关闭关闭关闭

Ansible是一个简单而强大的IT自动化引擎,成千上万的公司使用它来消除环境的复杂性并加速DevOps计划。

Ansible处理应用程序部署,常规服务器维护,配置管理,连续交付,编排或可以解释的重复性任务。

利用它来自动管理Windows服务器,以查看其顶级功能。这将是一种冒险的交通工具,所以当您开始航行时,请坐下。

“别等。时间永远不正确。” –拿破仑·希尔

先决条件

在深入研究林之前,Windows主机需要一些东西才能“同意”由Ansible管理。下面的列表就足够了。

  • Powershell 3.0或更高版本
  • .NET Framework 4.0或更高版本
  • Windows远程管理侦听器或SSH(cygwin)
  • 服务器操作系统,包括Windows 7或更高版本以及Windows Server 2008或更高版本
  • 巧克力般
  • WSUS for OS软件包更新和修补
  • Ansible或AWX

步骤1:安装Chocarety和WSUS

Windows用户是个人计算机上使用最广泛的操作系统,可以使用Chocolatey等工具来安装和管理该软件,从而从中受益。您可以从命令行或通过PowerShell轻松安装应用程序。另一方面,WSUS使用户可以轻松地提供操作系统更新和补丁。

要安装Chocolatey,请遵循安装程序并使用Chocolatey详细指南从命令提示符下管理Windows应用程序。完成后,您可以使用Windows Server 2019指南继续进行WSUS安装,以安装Windows Service Update Services。

步骤2:安装Ansible AWX

在本指南中,您将使用Ansible AWX来管理Windows主机。这是由于其易用性和大多数人会喜欢的友好的Web管理空间。 您可以使用《 CentOS 8指南》中的Ansible AWX的安装和配置来安装Ansible AWX。

添加到AWX服务器的内容 pywinrm.. Ansible使用pywinrm软件包通过WinRM与Windows服务器通信。 Ansible软件包默认情况下不会安装,但是您可以通过执行以下操作来安装它:

sudo pip3 install "pywinrm>=0.2.2"

安装和pywinrm安装完成后,请按照指南中的说明在AWX中配置以下设置:

  • 具有所需权限和可选团队的用户
  • 您可以使用组织或默认组织
  • 用于连接到Windows主机的凭据
  • 包含主机列表的清单(添加下面共享的变量)
  • 项目设置-包含剧本的GitHub存储库可用
  • 设置模板以启动所有内容

对清单进行一些更改,以包括与WinRM功能匹配的特殊变量。以下是需要在“”下添加的变量。股票分享相同的屏幕截图。

ansible_connection: winrm
ansible_winrm_transport: basic
ansible_winrm_server_cert_validation: ignore

步骤3:为Ansible配置Windows远程管理

Ansible不使用托管服务器上安装的代理,因此使用操作系统提供的通信功能。 Windows 2019引入了Secure Shell(ssh),但是如果您具有2019之前的服务器版本,则应选择Windows远程管理(WinRM),因为它也可以与其他版本一起使用。

WinRM服务具有两个主要组件,这些组件控制Ansible与Windows主机交互的方式。侦听器和服务配置设置。 WinRM服务在一个或多个端口上侦听请求。您必须为每个端口创建并配置一个侦听器。

使用此脚本ConfigureRemotingForAnsible.ps1设置基础。该脚本使用自签名证书配置HTTP和HTTPS侦听器,并启用服务的基本身份验证选项。有关更多信息,请参见 Ansible文档

要使用此脚本,请在PowerShell中(以管理员身份)执行以下操作:

$url = "https://raw.githubusercontent.com/ansible/ansible/devel/examples/scripts/ConfigureRemotingForAnsible.ps1"
$file = "$env:tempConfigureRemotingForAnsible.ps1"
(New-Object -TypeName System.Net.WebClient).DownloadFile($url, $file)
powershell.exe -ExecutionPolicy ByPass -File $file

出于相同目的,下面共享了屏幕截图。

使用Ansible自动管理Windows Server 2019和Windows 10

WinRM侦听器

WinRM服务在一个或多个端口上侦听请求。您必须为每个端口创建并配置一个侦听器。 要查看WinRM服务上正在运行的当前侦听器,请运行以下命令:

winrm enumerate winrm/config/Listener

同样,下面共享了另一个屏幕截图。

使用Ansible自动管理Windows Server 2019和Windows 10

步骤4:在Windows上运行Ansible Playbook

设置WinRM之后,使用您选择的Linux服务器上安装的Ansible来管理WinRM。如果要使用终端,可以将主机窗口添加到“ / etc / ansible / hosts”文件中,然后运行以下命令来测试一切是否正常。

ansible -i windows -m win_ping -e ansible_connection=winrm 
-e ansible_user=<Your-Windows-User> -e ansible_password=<Your-Windows-Password> 
-e ansible_winrm_transport=basic 
-e ansible_winrm_server_cert_validation=ignore

如果一切顺利,您将看到类似以下的消息:

172.19.253.55 | SUCCESS => {
    "changed": false,       
    "ping": "pong"
}

测试完成并成功后,您可以返回AWX Web界面并运行剧本。 根据放置剧本的位置(在Git或服务器上),创建并启动模板。假定您已经创建了凭据,用户,组织,项目,清单和模板。

我使用了一个在服务器上有剧本(手动SCM)的项目,如下面的屏幕快照所示。

使用Ansible自动管理Windows Server 2019和Windows 10

我在“ / var / lib / awx / projects”中创建了一个名为“ test”的目录,并创建了一个名为“ main.yaml”的示例剧本,其内容如下。

- hosts: all
  gather_facts: true
  tasks:
    - name: Install Git
      win_chocolatey:
        name: git
        state: present

在上面准备的Windows Server 2019上安装“ Git”是一项容易的任务。

完成后,您可以继续创建“模板”以将所有内容粘合在一起并运行剧本。以下屏幕截图与输入的设置共享。

使用Ansible自动管理Windows Server 2019和Windows 10

保存,然后开始。

使用Ansible自动管理Windows Server 2019和Windows 10

如果一切顺利,该手册将开始运行,您将看到一条成功消息。图示如下。

使用Ansible自动管理Windows Server 2019和Windows 10

步骤5:确保已安装Git

播放完成后,您可以登录Windows Server来查看Ansible使用Chocolatey实际安装了Git。 按下“开始”图标,否则您将看到“ Git”作为新应用程序,如下所示。

使用Ansible自动管理Windows Server 2019和Windows 10

我们可以走了!

最终想法

通常,如果您拥有大量托管服务器,则AWX和Ansible特别适合。一次设置所有内容,然后在添加剧本和配置基础结构时放松。 如果您从未涉足Ansible和自动化的多彩世界,请搭乘下一艘船前往这片美丽的土地。最后但同样重要的是,感谢您一直以来的支持。希望您的向导能为您提供帮助。请继续确保安全。其他可能引起您注意的指南包括:

使用Ansible生成OpenSSL自签名证书

使用Ansible在Linux上管理用户和组

如何生成Ansible Linux用户加密密码

在CentOS上设置Elasticsearch集群| Ubuntu与Ansible

使用Ansible在Debian 10上安装Apache Tomcat

您可以通过以下链接以PDF格式下载本文来支持我们。以PDF格式下载指南关闭关闭关闭

Sidebar