如何在 Ubuntu 22.04 上安装 Ansible?(分步指南)
对于希望有效实现 IT 工作流程自动化的系统管理员和 DevOps 专业人员来说,Ansible 是必不可少的工具。无论您管理的是单台服务器还是庞大的网络,Ansible 的强大功能都能显著提升效率。Ansible 是由 Red Hat 开发的开源自动化工具,以简单易用和用途广泛而著称。
与其他管理工具不同,Ansible 不需要在节点上安装专用代理,而是使用 SSH 建立安全连接,因此轻量且易于部署。Ansible 简化了配置管理、应用部署以及复杂工作流程的编排。它的声明式语言让您可以用代码描述基础设施,这些代码可以进行版本控制并在团队成员之间共享。Ansible 能够同时处理多项任务,并采用模块化设计,因而成为可扩展、高效自动化的首选。
本指南将向您展示如何在 Ubuntu 22.04 上安装 Ansible,即使是初学者也能轻松跟上。您将了解在 Ubuntu 22.04 上开始使用这一强大自动化工具所需的全部步骤。
前提条件
为了演示如何在 Ubuntu 22.04 上安装 Ansible,我们将使用三台不同的机器:
- 一台控制机和两台受管主机。Ansible 将安装在控制机上,该机器将通过 SSH 管理各主机。
- Ansible 主机是指控制机可以在其上自动执行任务的任何计算机。请确保您拥有在终端中执行命令的 sudo 权限。
如何在 Ubuntu 上安装 Ansible?(安装步骤)
在 Ubuntu 上安装 Ansible 非常简单,尤其是与其他复杂的 IT 系统相比。
这一过程主要包括设置控制机,并确保其与受管主机之间的通信可靠。请按照以下步骤在 Ubuntu 22.04 上安装 Ansible:
第 1 步:配置 Ansible 控制节点
在 Ansible 控制机上打开终端,运行一条 sudo 命令(例如 sudo apt update),以确认您是否拥有所需的 sudo 权限。如果没有出现错误,说明您拥有必要的权限。此外,使用以下命令查看控制机上的 Ubuntu 版本:
$ lsb_release -a
Ansible 控制节点是用于连接和管理 Ansible 主机服务器的系统。请按照以下步骤在主服务器上设置控制节点:
使用“adduser”命令为控制节点创建一个管理员级别的用户:
$ sudo adduser [username]
系统会提示您为该账户设置一个强密码。在创建过程中,您还可以选择回答一些问题,以提供有关该用户的更多信息。对于不想回答的问题,按 Enter 跳过即可。使用以下命令为该账户授予超级用户权限(sudo 访问权限):
$ sudo usermod -aG sudo [username]
作为 sudo 组的成员,该用户可以使用 sudo 命令执行管理任务。
第 2 步:生成 SSH 密钥对
要在控制节点上为 Ansible 用户生成 SSH 密钥对,请在 Ansible 控制节点的命令行中输入以下命令:
$ ssh-keygen
出现提示时,您可以选择设置密码短语以增强安全性。直接按 Enter 则跳过密码短语的设置。
系统将生成一对公钥/私钥,并显示一个随机图案(randomart)作为确认。
第 3 步:在 Ansible 主机上设置 SSH
Ansible 主机是由 Ansible 控制节点管理的远程服务器。对于每台新的 Ansible 主机,请执行以下步骤:
在控制节点上使用 ssh-copy-id 命令将公钥复制到主机:
$ ssh-copy-id [username]@[remote-host]
将 [username] 替换为主机系统上已有的管理员用户,将 [remote-host] 替换为远程主机的域名或 IP 地址。例如,要将密钥复制到 IP 地址为 192.168.0.81 的主机上的 ansible 用户,您可以输入:
$ ssh-copy-id ansible@host-ip
出现提示时,输入 yes 并按 Enter,确认连接到经过验证的主机。根据提示输入远程主机账户的密码。该命令会将公钥上传到远程主机账户。
第 4 步:在 Ubuntu 上安装 Ansible
配置好节点机器后,我们来看看如何在 Ubuntu 上安装 Ansible。使用 APT 包管理器在控制节点系统上安装 Ansible 软件包:
使用以下命令确保软件包索引为最新:
$ sudo apt update
使用以下命令在 Ubuntu 上安装 Ansible:
$ sudo apt install ansible -y
第 5 步:验证安装
要确认 Ansible 已正确安装在您的 Ubuntu 系统上,请使用以下命令:
$ ansible --version
输出将显示 Ansible 版本号、配置文件位置、可执行文件路径以及其他相关信息。
第 6 步:设置 Ansible 清单文件
Ansible 清单(inventory)文件用于存放 Ansible 所管理的所有主机的信息。它会在安装 Ansible 时自动生成。
该文件可以根据主机的角色或功能(例如 Web 服务器、数据库服务器或开发服务器)将其分组,也可以按操作系统进行分类。这种组织结构可以提高主机管理的效率。
在清单文件中,可以按主机名或 IP 地址列出主机,文件中通常会提供示例,帮助您填写这些信息。
要编辑清单文件,可以使用以下任一命令:
$ vi /etc/ansible/hosts
或
$ sudo nano /etc/ansible/hosts
此外,如果您希望创建自定义清单文件,可以将其放在任何位置。执行 Ansible playbook 或命令时,使用 -i 参数指定自定义清单文件即可。
在本任务中,请将主机的以下私有 IP 地址添加到清单文件的“servers”分组下,然后保存更改:
[servers]
Server IP-address
[server-ip or hostname]
保存对清单文件的更改并退出编辑器。
使用以下命令显示清单中的条目:
$ ansible-inventory -i /etc/ansible/hosts --list
该命令将输出清单中的主机列表。
第 7 步:测试与主机的连接
现在您已经配置好从 Ansible 控制节点到各主机的访问,接下来需要验证连接。使用以下命令测试访问:
ansible all -m ping -u root
如果连接成功,您将看到“SUCCESS”消息。首次连接时,系统可能会提示您进行授权;之后的测试将直接连接到主机服务器。现在,您可以使用控制节点在各主机上管理和自动执行任务了。
结论
在本教程中,我们介绍了如何在 Ubuntu 22.04 上安装 Ansible。我们演示了如何通过更新控制机、配置主机以及设置 SSH 密钥来配置 Ansible,使 Ansible 控制节点能够通过 SSH 高效地进行管理。
Ansible 提供了大量预置的 playbook、模块和插件,它们各有功能和局限。如需更详细的文档,请访问 Ansible 官方网站。借助 BlueVPS Ansible 模块,您可以高效地自动化基础设施部署和服务器配置,而且学习成本极低。该工具让您轻松管理 荷兰 VPS 实例,确保所有开发和生产节点的环境保持一致。
blog