网站搜索

如何安装和配置 Ansible 控制节点 - 第 2 部分


在上一主题中,您将了解基本的 Ansible 术语和基本概念。在本主题(Ansible 系列的第 2 部分)中,我们将演示如何在 RHEL 8 上安装和配置 Ansible 控制节点。

在我们的设置中,我们将使用 1 Ansible 服务器和 2 个远程 Linux 节点

Control Node 1: RHEL 8 Server     IP: 192.168.0.108         Ansible Server
Managed Host 1: Debian 10         IP: 192.168.0.15          Webserver
Managed Host 2: CentOS 8          IP: 192.168.0.200	    Database Server

什么是 Ansible 控制节点?

控制节点是安装了Ansible的Linux服务器,用于管理远程主机或节点。这些远程系统称为托管主机托管节点

在上面的设置中,控制节点是安装 AnsibleRHEL 8 服务器以及 Debian 10CentOS 8< 是托管主机。

注意:Ansible 仅安装在控制节点上,而不安装在托管主机上。

第 1 步:安装 Python 3

默认情况下,RHEL 8 附带 Python 3,您可以通过运行来验证服务器上安装的 Python 版本。

python3 -V

如果由于某种原因未安装 Python3,请使用以下 dnf 命令安装它。

dnf install python3

如果您的RHEL 8系统上存在多个Python版本,您可以将Python 3设置为默认Python版本通过跑步。

alternatives --set python /usr/bin/python3

第 2 步:启用官方 RedHat 存储库

安装Python3后,请确保您已启用Ansible的RedHat官方存储库,如下所示。

subscription-manager repos --enable ansible-2.8-for-rhel-8-x86_64-rpms

注意:要使上述命令正常工作,请确保您已注册 RHEL 8 for RedHat 订阅。

步骤 3:在 RHEL 8 上安装 Ansible

要在控制节点(即我们的 RHEL 8 系统)上安装 Ansible,请运行命令。

dnf install ansible -y

安装后,您可以通过运行命令检查安装的 Ansible 版本。

ansible --version

步骤 4:创建静态主机清单文件

到目前为止,我们已成功在 控制节点(即我们的 RHEL 8 服务器)上安装了 ansible。控制节点要管理的远程节点需要在名为inventory 文件的文件中定义。库存文件是驻留在控制节点上的纯文本文件,由远程主机的主机名或 IP 地址组成。

静态主机文件是纯文本文件,其中包含由 IP 地址或主机名定义的受管节点列表。让我们在 /etc/ansible/ 目录中创建一个静态文件“hosts”。

vi /etc/ansible/hosts

接下来,为您的托管主机定义一个或多个组。正如前面介绍本主题时的设置所示,我们有 2 台托管主机。从设置中,静态主机文件将定义如下:

[webserver]
192.168.0.15

[database_server]
192.168.0.200

保存并退出清单文件。

要列出托管主机,请运行:

ansible all -i hosts --list-hosts

到目前为止,我们已经成功在控制节点中安装了 Ansible,并在控制节点上的静态主机文件中定义了托管主机。

接下来,我们将了解如何管理或控制我们的远程或托管主机。

步骤 5:设置 Ansible 控制节点以与远程节点连接

用于Ansible控制节点RHEL 8)管理远程主机系统(Debian 10CentOS 8)我们需要为远程主机设置无密码 SSH 身份验证。为此,您需要生成 SSH 密钥对并将公钥保存到远程节点。

在Ansible控制节点上,以普通用户登录并运行命令生成SSH密钥对。

su tecmint
ssh-keygen

接下来,将公共 ssh 密钥复制到远程节点,如图所示。

ssh-copy-id [email 	        (For Debian 10 node)
ssh-copy-id [email 	        (For CentOS 8 node)

将公钥添加到所有远程节点后,我们将从 Ansible 控制节点发出 ping 命令以确保它们可访问。

ansible -m ping all

从上面的输出中,我们可以清楚地看到 ping 命令成功,并且我们能够测试所有节点的可达性。

结论

在本指南中,我们在运行 RHEL 8 的控制节点上成功安装并设置了 Ansible。随后,我们在静态主机文件中定义了远程主机,并通过设置 SSH 无密码身份验证来配置控制节点以连接和控制托管主机。