如何在 Ubuntu 20.04 上安装 Ansible

Ansible 是一种基础设施即代码工具,允许其用户从一个集中位置控制许多服务器。 使用 Ansible 的好处是它使用 SSH 和 YAML 文件进行配置,无需任何其他配置。 在本教程中,我将描述如何在 Ubuntu 20.04 系统上安装和配置 Ansible。

在 Ubuntu 上安装 Ansible

要安装 Ansible,请使用系统中的官方 Ubuntu 20.04 存储库。 使用以下命令打开终端窗口 Ctrl+Alt+T 快捷方式或使用应用程序-> 终端。 在此之后,使用以下命令更新存储库:

$ sudo apt update

然后将更新 apt 包存储库缓存。 现在,使用以下命令安装 Ansible:

$ sudo apt install ansible

过一会系统会提示,在键盘上按Y,然后按回车键继续。

安装 Ansible

然后将安装 Ansible。 让我们使用以下方法验证此步骤:

$ ansible – 版本

检查ansible版本

安装的版本将显示如下:

安装了哪个ansible版本?

生成 SSH 密钥

现在,您需要在安装 Ansible 的系统上生成一个 SSH 密钥。 要生成密钥,请附加以下命令:

$ ssh-keygen

运行 SSH 密钥生成器

在终端窗口中输入后,按回车键。

生成 SSH 密钥

再次按

设置密码

现在,您需要再次按下键盘上的

重复密码

只要你按下回车,就会显示一个与此非常相似的输出。 它将有一个 SSH 密钥,将在本教程的下半部分使用。

生成的 SSH 密钥

配置 Ubuntu 主机以自动化 Ansible

要自动化多台主机,您需要分别对每台主机重复相同的过程。 所有要配置的 Ubuntu 主机 (Ansible) 都必须安装 SSH 包。 现在,我们将使用以下命令更新 apt 包:

$ sudo apt update

在主机上安装更新

更新将开始与下面显示的非常相似:

安装的软件包

下一步是使用以下命令安装 OpenSSH 服务器:

$ sudo apt install openssh-server -y

安装 OpenSSH 服务器

完成后,您需要检查 sshd 服务的状态。 使用以下命令进行检查:

$ sudo systemctl status sshd

检查 ssh 状态

后,将立即显示输出。 启用和活动(运行)状态将

SSH 服务器状态

一旦您检查 sshd 命令运行良好并启用,您就可以继续。 如果未启用,则使用以下命令手动启动它:

$ sudo systemctl start sshd

启动sshd

现在,让我们使用以下命令配置防火墙以允许 SSH 访问:

$ sudo ufw allow ssh

在防火墙中打开 SSH 端口

将出现类似于下面显示的输出:

在 IPv4 和 IPv6 中启用端口

下一步是添加一个 能听懂的 用户,然后允许无密码访问。 我们现在将使用以下命令创建 ansible 用户:

$ sudo adduser ansible

添加ansible用户

提供密码 能听懂的 用户。

添加了 Ansible 用户

之后,针对所有可用字段填写相关信息。

设置密码

配置无密码 sudo 在您的 ansible 用户的终端窗口中输入以下内容:

$ echo "ansible ALL=(ALL) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/ansible

Ansible sudo 配置

让我们使用以下命令检查 Ansible 主机的 IP 地址:

$ hostname -I

主机名

主机将出现在输出中。

显示主机名

现在,您知道主机名,我们将像这样将 SSH 公钥复制到 Ansible 主机:

$ ssh-copy-id [email protected]

复制ssh密钥

从管理节点复制 ssh 密钥

现在,输入 Yes 继续。

继续 ssh 密钥复制

密钥将被复制到主机。

要禁用基于密码的登录,请使用以下命令:

$ sudo usermod -L ansible

禁用基于密码的登录

在这里,我们可以在没有任何密码的情况下访问 Ansible 主机,它已准备好进行自动化。

密码登录被禁用

测试 Ansible

为了在安装和配置后测试 Ansible,用户需要创建一个新的项目目录。 使用 mkdir 命令执行此操作:

$ mkdir ~/ansible-demo

创建目录

一旦创建了新目录,您需要使用以下命令访问它:

$ cd ~/ansible-demo/

进入文件夹

之后,使用以下命令在同一项目目录中创建一个新的主机文件:

$nano hosts

创建主机文件

Ansible 将使用此文件中的主机进行 SSH。 打开 nano 编辑器后,输入要 ping 的主机的 IP 地址。

测试文件

让我们尝试使用 Ansible 使用以下命令 ping 所有主机:

$ ansible all -i ./hosts -u ansible -m ping

Ping ansible 主机

您将看到如下所示的成功:

Ansible 测试结果

卸载 Ansible

要卸载 Ansible,请在终端窗口中使用以下命令:

$ sudo apt remove ansible

删除ansible

键入 Y 以继续卸载过程。

移除 ansible

通过这种方式,用户可以轻松地从他们的系统中删除 Ansible。

结论

在本文中,我们看到了在 Ubuntu 20.04 系统上安装 Ansible 的过程以及如何配置和测试 Ansible。