自主搭建 Ansible 环境

AnsibleBeginner
立即练习

介绍

欢迎参加 Ansible 搭建挑战!你刚刚学习了如何在 Ubuntu 系统上安装和配置 Ansible。现在,是时候检验你的学习成果了。假设你是一名新入职的系统管理员,你的首要任务是在一台全新的 Ubuntu 服务器上搭建 Ansible 环境。本次挑战将模拟这一真实场景,促使你运用所学知识,展示独立操作 Ansible 的能力。

这是一个「挑战」项目,它与「引导实验」不同,你需要尝试独立完成挑战任务,而不是按照实验步骤一步步学习。挑战通常具有一定的难度。如果你感到困难,可以与 Labby 讨论或查看解决方案。历史数据显示,这是一个针对初学者级别的挑战,通过率为 93%,学习者的好评率为 100%

Ansible 安装与配置

任务

  1. 更新并升级系统软件包。
  2. 在 LabEx 虚拟机(Ubuntu 22.04)上安装 Ansible。
  3. 配置 SSH 以实现对本地主机(localhost)的免密身份验证。
  4. 创建一个包含两个组的 Ansible 主机清单(inventory)文件:「local」和「webservers」。
  5. 测试 Ansible 的连接性,确保其正常工作。

要求

  • 所有操作必须在 /home/labex/project 目录下进行。
  • 安装的 Ansible 必须是当前的最新版本。
  • 生成的 SSH 密钥对必须使用 RSA 4096 位加密,并带有注释「labex@ansible-challenge」。
  • Ansible 主机清单文件必须创建在 /etc/ansible/hosts
  • 主机清单文件必须包含:
    • 一个名为 local 的组,包含使用本地连接方式(local connection)的 localhost
    • 一个名为 webservers 的组,包含一个名为 web1 的主机,该主机通过 SSH 连接指向 localhost
  • 你必须能够在无需输入密码的情况下运行 Ansible 命令。

提示

系统会提示你输入 labex 用户的密码。你可以在 VNC 终端中运行以下命令来查看密码:

echo $PASSWORD

示例

完成挑战后,运行 ansible --version 应该输出类似以下内容:

ansible x.x.x
...

/etc/ansible/hosts 的内容应该如下所示:

[local]
localhost ansible_connection=local

[webservers]
web1 ansible_host=localhost ansible_connection=ssh ansible_user=labex

运行 ansible all -m ping 应该为 localhostweb1 都返回成功结果。

✨ 查看解决方案并练习

总结

在本次挑战中,你展示了在全新的 Ubuntu 22.04 系统上搭建 Ansible 环境的能力。你完成了系统更新、Ansible 安装、SSH 免密登录配置、主机清单创建以及环境功能验证。这些技能是任何使用 Ansible 的系统管理员或 DevOps 工程师的核心基础。通过完成这项挑战,你证明了自己能够在新环境中独立部署 Ansible,为在现实场景中快速搭建自动化工具做好了准备。