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 – 版本
安装的版本将显示如下:
生成 SSH 密钥
现在,您需要在安装 Ansible 的系统上生成一个 SSH 密钥。 要生成密钥,请附加以下命令:
$ ssh-keygen
在终端窗口中输入后,按回车键。
再次按
现在,您需要再次按下键盘上的
只要你按下回车,就会显示一个与此非常相似的输出。 它将有一个 SSH 密钥,将在本教程的下半部分使用。
配置 Ubuntu 主机以自动化 Ansible
要自动化多台主机,您需要分别对每台主机重复相同的过程。 所有要配置的 Ubuntu 主机 (Ansible) 都必须安装 SSH 包。 现在,我们将使用以下命令更新 apt 包:
$ sudo apt update
更新将开始与下面显示的非常相似:
下一步是使用以下命令安装 OpenSSH 服务器:
$ sudo apt install openssh-server -y
完成后,您需要检查 sshd 服务的状态。 使用以下命令进行检查:
$ sudo systemctl status sshd
按
一旦您检查 sshd 命令运行良好并启用,您就可以继续。 如果未启用,则使用以下命令手动启动它:
$ sudo systemctl start sshd
现在,让我们使用以下命令配置防火墙以允许 SSH 访问:
$ sudo ufw allow ssh
将出现类似于下面显示的输出:
下一步是添加一个 能听懂的 用户,然后允许无密码访问。 我们现在将使用以下命令创建 ansible 用户:
$ sudo adduser ansible
提供密码 能听懂的 用户。
之后,针对所有可用字段填写相关信息。
配置无密码 sudo 在您的 ansible 用户的终端窗口中输入以下内容:
$ echo "ansible ALL=(ALL) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/ansible
让我们使用以下命令检查 Ansible 主机的 IP 地址:
$ hostname -I
主机将出现在输出中。
现在,您知道主机名,我们将像这样将 SSH 公钥复制到 Ansible 主机:
$ ssh-copy-id [email protected]
现在,输入 Yes 继续。
密钥将被复制到主机。
要禁用基于密码的登录,请使用以下命令:
$ 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
您将看到如下所示的成功:
卸载 Ansible
要卸载 Ansible,请在终端窗口中使用以下命令:
$ sudo apt remove ansible
键入 Y 以继续卸载过程。
通过这种方式,用户可以轻松地从他们的系统中删除 Ansible。
结论
在本文中,我们看到了在 Ubuntu 20.04 系统上安装 Ansible 的过程以及如何配置和测试 Ansible。