如何在 Ubuntu 22.04 上安装 Ansible 教程

简介

Ansible 对于系统管理员和 DevOps 专家来说是一个非常有价值的工具,他们希望有效地自动化他们的 IT 工作流程。 无论是处理单个服务器的自动化还是庞大的网络,Ansible 的能力都非常出色。 本文提供了关于如何在 Ubuntu 22.04 上安装 Ansible 的详细、分步指南,即使是那些刚接触自动化工具的人也可以轻松上手。

什么是 Ansible?

由 Red Hat 开发的 Ansible 是一款开源工具,以其在 IT 自动化方面的简洁性和灵活性而闻名。 与其他管理工具不同,它不需要节点上的自定义代理,而是使用 SSH 进行安全连接,使其轻便且易于采用。 Ansible 是一款出色的自动化工具,可简化复杂的软件设置,轻松管理任务并促进高效的应用程序部署。

Ansible 有什么用?

Ansible 使配置管理、应用程序部署和编排复杂的工作流程变得更加容易。 它的声明性语言允许你用代码描述你的基础设施,这些代码可以进行版本控制并在团队成员之间共享。 Ansible 同时处理多个任务的能力及其模块化设计使其成为可扩展和高效自动化的首选。

安装和配置步骤

第一步:验证 sudo 权限并更新系统软件包

打开 Ansible 控制机器的终端并运行任何 sudo 命令,例如 sudo apt update,看看是否遇到任何错误。 如果你没有看到任何错误,则你拥有必要的 sudo 权限。 此外,运行以下命令来检查你的控制机器的 Ubuntu 版本。

lsb_release -a

image.png

在开始安装 Ansible 之前,更新现有软件包和存储库始终是一个好习惯。 它可以确保软件包具有其最新版本,安装安全补丁并解决依赖关系。 它还有助于保持与新软件安装的一致性。

打开 Ansible 控制机器的终端,然后键入 sudo apt update 命令。 它将获取最新的更新,如以下屏幕截图所示。

image.png

接下来,执行以下命令,根据之前命令获得的信息,将系统上安装的所有软件包升级到最新版本。

sudo apt upgrade -y

image.png

第二步:添加 Ansible PPA(个人软件包存档)

Ansible 个人软件包存档 (PPA) 存储库允许开发人员使用最新版本更新 Ansible。 Ansible PPA 共享最新的软件,尤其是在官方 Ubuntu 来源没有最新软件包时。

Ansible PPA 提供了一种在 Ubuntu 操作系统上安装最新稳定 Ansible 版本的简单方法。 它使他们始终拥有最新的版本,而无需仅依赖官方渠道,官方渠道可能稍微落后。 以下是用于添加软件包存档的命令。

sudo apt-add-repository ppa:ansible/ansible

image.png

在获取软件包时,它将请求授权以继续。 按下 Enter 键后,它将开始添加 PPA。

image.png

接下来,再次执行 sudo apt update 命令以更新系统软件包索引。 此命令对于 Ubuntu 系统识别新添加的 PPA 非常重要。

image.png

第三步:安装 Ansible 并验证安装

添加 Ansible PPA 后,你现在可以继续在 Ubuntu 上安装 Ansible。 使用以下命令启动安装。 此命令从 PPA 获取并安装最新的 Ansible 稳定版本。

sudo apt install ansible

image.png

此安装还将请求授权以继续。 键入 Y 并按 Enter 继续安装 Ansible。

image.png

你还可以使用以下组合命令来安装 Ansible 而不会中断。

sudo add-apt-repository --yes --update ppa:ansible/ansible

使用以下命令验证安装。

ansible --version

image.png

它将提供有关安装的以下信息:Ansible 配置、Python 版本以及集合和模块信息。

  1. ansible [core 2.15.5] - 当前安装的 Ansible 版本;
  2. config file - Ansible 配置文件路径;
  3. configured module search path - Ansible 将在其中搜索模块的目录;
  4. Ansible Python 模块位置;
  5. ansible collection location - 集合是 Ansible 内容(包括剧本、Ansible 角色、模块和插件)的分布格式;
  6. executable location: Ansible 可执行文件的路径;
  7. Python version;
  8. jinja version - Python 模板引擎的版本。 Ansible 使用 Jinja2 来满足模板需求,例如生成模板配置文件;
  9. libyaml = True - 此行指示 LibYAML 库的用户。 LibYAML 可以更快地读取 YAML 文件。 最好将其设置为 true,因为 Ansible 在剧本和设置等任务中严重依赖 YAML。

完成上述步骤后,该机器将充当“Ansible 控制节点”。

第四步:主机设置

设置 Ansible 控制节点后,下一步是准备将执行 Ansible 任务的主机。 你需要将这些计算机添加到控制节点的清单文件中,该文件通常位于 /etc/ansible/hosts。下图显示了此文件的示例。

image.png

Ansible 清单文件包含有关 Ansible 将管理的所有主机的 信息。 安装 Ansible 时默认创建它。 在此文件中,你可以选择根据主机的作用或功能,将主机组织到不同的组中,例如 Web 服务器、数据库服务器和开发服务器,或者按操作系统对其进行分类。 这种组织结构有助于更有效地管理主机。

在清单文件中,你可以按主机名或 IP 地址列出主机,并且该文件通常包含示例来指导你指定这些详细信息。

要编辑清单文件,请使用以下命令之一。

vi /etc/ansible/hosts
sudo nano /etc/ansible/hosts

此外,如果你希望创建自定义清单文件,则可以在任何位置完成。 执行 Ansible 剧本或命令时使用 ‘-i’ 参数。

对于此步骤,请在“AppServers”组下为你的主机分配以下私有 IP 地址,然后保存更改。

[appServers]

172.31.21.153

172.31.19.136

image.png

使用以下命令查看已添加到你的清单文件的服务器。

ansible-inventory --list -y

image.png

第五步:在主机中设置 SSH 密钥

在使用 Ansible 管理主机之前,你必须正确设置 SSH 密钥。 它将允许 Ansible 控制节点访问主机。

首先,使用以下命令在 Ansible 控制节点中创建 SSH 密钥。

ssh-keygen

你可以使用 cat id_rsa.pub 命令来可视化 rsa 公钥并复制它。

image.png

登录到主机的控制台。 然后,粘贴并将复制的 RSA 公钥保存在 /root/.ssh/ 路径下的 authorized_keys 文件中。

image.png

你可以通过使用以下命令将公钥直接复制到远程主机来更轻松地完成上述步骤。

ssh-copy-id root@remote-ip-address

第六步:测试主机访问

你现在已完成从 Ansible 控制节点访问主机的所有设置。 现在是验证连接是否成功的时候了。 要测试访问,请使用以下命令。

ansible all -m ping -u root

最后,如果连接成功,你将看到如下屏幕截图中的 SUCCESS 消息。 首次连接时,系统将提示你提供授权。 后续测试将直接连接到主机。 现在,你可以使用控制节点来管理主机并自动化你的任务。

image.png

结尾

总而言之,本教程介绍了如何在 Ubuntu 22.04 上安装 Ansible,包括配置。 我们强调了对控制机器进行初步更新以及正确配置主机的重要性,以及添加 Ansible PPA 和 SSH 密钥设置,以便 Ansible 控制节点可以通过 SSH 成功管理这些机器。

推广链接:

### 一键安装 Ubuntu 22.04 对于希望简化 Ubuntu 22.04 部署过程的用户来说,“一键安装”的概念通常指的是自动化脚本或工具,这些可以减少手动配置的时间和复杂度。然而,在实际操作中并没有严格意义上的“一键安装”工具专门针对整个系统的部署。 #### 使用 Vagrant 实现快速环境搭建 Vagrant 是一种用于创建和管理虚拟化开发环境的工具,能够极大程度上实现接近于“一键安装”的效果。通过编写简单的 `Vagrantfile` 文件来定义所需的虚拟机配置,之后只需一条命令即可启动完整的 Ubuntu 环境: ```ruby # Vagrantfile 示例 Vagrant.configure("2") do |config| config.vm.box = "ubuntu/jammy64" end ``` 运行如下命令初始化并启动虚拟机: ```bash vagrant up ``` 这将自动下载指定版本的基础镜像,并按照预设参数完成虚拟机的构建工作[^1]。 #### 利用 Ansible Playbook 自动化配置 Ansible 是一款强大的 IT 自动化引擎,适用于批量处理服务器配置任务。借助预先编写的 playbook 脚本文件,可以在新安装好的 Ubuntu 上迅速应用一系列定制化的设置和服务部署方案。下面是一个简单例子展示如何利用 ansible 来更新系统以及安装常用软件包: ```yaml --- - hosts: all become: yes tasks: - name: Update apt cache and upgrade packages apt: update_cache: yes upgrade: dist - vim - git - curl state: present ``` 保存上述内容到名为 `setup.yml` 的文件里,接着执行以下指令让其生效: ```bash ansible-playbook setup.yml -i localhost, ``` 这种方法虽然不是传统意义上的一键式解决方案,但在一定程度上实现了高效便捷的操作体验[^3]。 #### Cloud-init 支持下的 ISO 映像自定义 如果目标是在物理硬件或是云端环境中进行大规模无交互式的操作系统部署,则可考虑采用 cloud-init 技术配合经过特殊制作的支持该特性的 Ubuntu Live CD/USB 启动介质来进行无人值守安装。这种方式下可以通过提前准备好的 user-data 和 meta-data 文件指导整个安装流程,从而达到近似的效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

vvw&

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值