如何在 Debian 10 上安装和使用 Ansible

每当我们谈论配置管理工具时,我们最常听到的名字是 Ansible。 它是一个跨平台工具,旨在在使用 Linux、macOS 和 Windows 操作系统时处理系统配置。 今天,我们将尝试阐明在 Debian 10 上安装 Ansible 的过程。

在 Debian 10 上安装 Ansible

要在 Debian 10 上安装 Ansible,您需要执行以下三个简单步骤:

第 1 步:更新您的 Debian 10 系统:

在 Debian 10 上安装 Ansible 之前,您必须使用如下所示的命令对其进行更新:

sudo apt update

更新 Debian 10 系统后,您将在终端上看到如下图所示的内容:

第 2 步:在 Debian 10 系统上安装 Ansible:

系统更新完成后,您可以使用如下所示的命令在 Debian 10 上安装 Ansible:

sudo apt install ansible

安装 Ansible

在此命令执行期间,您将看到一条消息,询问您是否要在终端上继续安装。 您必须键入“Y”,以便安装过程保持顺利运行,如下图突出显示:

安装 Ansible

当 Ansible 成功安装在您的 Debian 10 系统上时,终端将在其上产生一些类似于下图所示的消息:

安装 Python 库

第 3 步:确认在 Debian 10 系统上安装 Ansible:

在 Debian 10 系统上安装 Ansible 非常简单,只需上述两步即可完成。 但是,您仍然可以验证它是否已成功安装在您的 Debian 10 系统上。 这可以通过使用以下命令检查其版本来完成:

ansible --version

检查 Ansible 版本

在我们的 Debian 10 系统上安装的 Ansible 版本是 2.7.7,它也在下图中突出显示:

2.7.7 版

编辑 Ansible 主机文件 /etc/ansible/hosts 添加我们要使用 Ansible 管理的系统。

sudo nano /etc/ansible/hosts

添加以下内容:

[TestClient]
node1 ansible_ssh_host=192.168.0.12
And save the file.

使用 Ansible

首先,我们必须为客户端节点配置一个 SSH 密钥,因为 Ansible 使用 SSH 协议将命令传输到客户端系统。

使用此命令为基于密钥的身份验证生成 SSH 密钥:

ssh-keygen

输出:

Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:gTHiTCK....................... [email protected]
The key's randomart image is:
+---[RSA 2048]----+
| . . . |
+----[SHA256]-----+

下一步是将新生成的密钥复制到另一个系统。 运行此命令:

ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]

上述命令中的 IP 192.168.0.2 需要替换为您要使用 Ansible 管理的系统的 IP 地址。

输出:

/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
[email protected]'s password:

Number of key(s) added: 1

现在是第一次测试的时候了,使用这个 SSH 命令登录到另一台机器:

ssh [email protected]

现在登录应该不需要密码就可以工作了。

测试 Ansible

安装部分完成,现在我们可以开始测试 Ansible

运行此命令以测试连接:

ansible -m ping TestClient

输出:

node1 | SUCCESS => {
"changed": false, 
"ping": "pong"
}

如果您定义了多个客户端,您可以使用以下命令测试所有连接:

ansible -m ping all

现在是在远程系统上运行命令并获取结果的时候了。 对于本示例,我将使用 df 命令。

ansible -m shell -a 'df -h' TestClient

输出:

node1 | CHANGED | rc=0 >>
Filesystem Size Used Avail Use% Mounted on
udev 957M 0 957M 0% /dev
tmpfs 195M 21M 175M 11% /run
/dev/sda1 38G 11G 25G 31% /
tmpfs 974M 0 974M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 974M 0 974M 0% /sys/fs/cgroup
/dev/sda15 121M 130K 120M 1% /boot/efi
tmpfs 195M 0 195M 0% /run/user/0

结果显示了远程系统上的硬盘使用情况。 您可以使用 ansible 执行任何这样的 Linux shell 命令,还可以创建 compley scipts 来设置和维护服务器。

删除 Ansible

要从 Debian 10 系统中删除 Ansible,您首先需要使用以下命令卸载它及其配置文件:

sudo apt-get purge ansible

清除 Ansible

成功执行此命令后,您还可以通过执行如下所示的命令来清除所有不相关的包和依赖项:

sudo apt-get autoremove

删除未使用的 Ansible 依赖项

结论

本文展示了如何在 Debian 10 系统上安装 Ansible,以及如何使用它通过安全的 SSH 连接远程管理系统。