Ansible 认证的 Chocolatey 内容集合
Ansible 认证的 Chocolatey 内容集合
持续保持 Windows 环境的更新和安全是一场持久战。使用 Red Hat Ansible 自动化平台和 Chocolatey,您可以轻松地将软件更新到最新版本,并快速响应数十、数百或数千个节点上的错误修复、安全问题和 0 天漏洞。
我们将带您完成三个简单的步骤,向您展示使用 Chocolatey 和 Ansible 部署和更新软件是多么简单。
开始之前:Windows 先决条件
Ansible 默认情况下使用 Winrm 与 Windows 计算机通信。因此,我们需要确保通过在远程 Windows 计算机上运行 Enable-PSRemoting
来启用它。
对于生产环境,我们建议启用 WinRM 的 HTTPS。
以下显示的代码示例都使用用户 'ansible' 作为默认用户。如果您使用的是其他用户名,请确保更改它!
步骤 1:配置 Ansible 使用 Chocolatey。
我们需要安装 Chocolatey 模块,以便 Ansible 可以使用它。Chocolatey Ansible 内容集合称为 chocolatey:chocolatey,由 Chocolatey 团队维护。要在您的 Ansible 服务器上安装集合,从而安装 win_chocolatey 模块,请运行
ansible-galaxy collection install chocolatey.chocolatey
就这样!Ansible 现在可以使用集合中的模块与 Chocolatey 协作。
步骤 2:在远程计算机上安装软件
现在我们已经安装了 win_chocolatey 模块,我们可以继续在远程计算机上安装或管理软件。
让我们创建一个名为 install_notepadplusplus.yml
的文件,其中包含以下内容
--- - hosts: all gather_facts: false vars_prompt: - name: password prompt: "Enter the password for the node" vars: ansible_user: ansible ansible_password: "{{ password }}" ansible_connection: winrm ansible_winrm_transport: ntlm ansible_winrm_server_cert_validation: ignore tasks: - name: Install Notepad++ version 7.8 win_chocolatey: name: notepadplusplus version: ‘7.8’
运行 ansible-playbook install_notepadplusplus.yaml -i <ip address>,
(注意 IP 地址后的逗号),在远程计算机上安装 Notepad++。请注意,在本示例中,我们没有安装最新版本,因为我们将在下一步进行更新。
安装完成后,打开 Notepad++ 并按 F1
,以确保我们安装了所需的版本。
步骤 3:在远程计算机上更新软件
为了确保您的计算机始终安装了最新版本的软件,您可以使用 Chocolatey 对其进行升级。我们将升级到最新版本的 Notepad++。
创建一个名为 upgrade_notepadplusplus.yml
的文件,其中包含以下内容
--- - hosts: all gather_facts: false vars_prompt: - name: password prompt: "Enter the password for the node" vars: ansible_user: ansible ansible_password: "{{ password }}" ansible_connection: winrm ansible_winrm_transport: ntlm ansible_winrm_server_cert_validation: ignore tasks: - name: Install latest Notepad++ win_chocolatey: name: notepadplusplus state: latest
运行 ansible-playbook upgrade_notepadplusplus.yaml -i <ip address>,
(注意 IP 地址后的逗号),在远程计算机上更新或安装最新版本的 Notepad++。安装完成后,打开 Notepad++ 并按 F1
,以确保我们安装了最新版本。
后续步骤
虽然我们在这篇博文中只处理了一台远程计算机,但 Ansible 允许您将此操作复制到数十、数百和数千台远程计算机。
现在您已经安装了 Ansible Chocolatey 模块,您可以安装、卸载、更新和管理计算机上的软件包。Chocolatey Ansible 内容集合中的其他模块使您能够管理 Chocolatey 本身的配置、功能和来源。您可以在 Ansible Galaxy Chocolatey 集合页面 上找到更多信息。
Chocolatey 为组织提供了一个 推荐架构,其中包括设置内部存储库。为了加快此过程,有一个 快速部署环境 允许您在约两个小时内使用已经加载了有用软件包的内部存储库、用于自动化的 Jenkins 和用于报告的 Chocolatey 集中管理,从而快速启动并运行。
对于 Windows 上的软件包管理,Chocolatey 是首选的软件包管理器。与 Ansible 协同工作,您可以使用它来更新和管理 Windows 计算机,就像您使用 Linux 一样。