每当我们谈论配置管理工具时,我们最常听到的名字是 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
在此命令执行期间,您将看到一条消息,询问您是否要在终端上继续安装。 您必须键入“Y”,以便安装过程保持顺利运行,如下图突出显示:
当 Ansible 成功安装在您的 Debian 10 系统上时,终端将在其上产生一些类似于下图所示的消息:
第 3 步:确认在 Debian 10 系统上安装 Ansible:
在 Debian 10 系统上安装 Ansible 非常简单,只需上述两步即可完成。 但是,您仍然可以验证它是否已成功安装在您的 Debian 10 系统上。 这可以通过使用以下命令检查其版本来完成:
ansible --version
在我们的 Debian 10 系统上安装的 Ansible 版本是 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
成功执行此命令后,您还可以通过执行如下所示的命令来清除所有不相关的包和依赖项:
sudo apt-get autoremove
结论
本文展示了如何在 Debian 10 系统上安装 Ansible,以及如何使用它通过安全的 SSH 连接远程管理系统。