Ubuntu Ansible安装和配置教程介绍
Ansible 是一种基础设施即代码工具,允许你从一个中心位置监视和控制大量服务器。
Ansible 相对于其他类似系统的主要优势在于它使用 SSH 和 YAML 配置文件,并且不需要任何额外的专用软件。
Ubuntu如何安装和配置Ansible?本教程解释了如何在 Ubuntu 20.04 上安装和配置 Ansible。
注意:了解有关 Ansible 的更多信息以及它与其他类似工具的比较 - Ansible vs Terraform vs Puppet。
先决条件
- 一个运行 Ubuntu 20.04 的系统
- 访问命令行/终端窗口
步骤 1:配置 Ansible 控制节点、主机和 SSH 密钥对
如何在Ubuntu上安装和配置Ansible?在 Ubuntu 上安装 Ansible 之前,请确保你已设置好几项内容。配置需要一个 Ansible 控制节点和一个或多个 Ansible 主机。
注:该Ansible控制节点使你能够控制Ansible主机。它可以是专用服务器,也可以是安装了 Ubuntu 20.04 的本地机器。
Ubuntu Ansible安装和配置教程:配置 Ansible 控制节点
要设置 Ansible 控制节点,请以 root 用户身份登录。创建另一个具有管理权限的(非 root)用户,然后为新用户添加SSH 密钥对。
1. 以root身份,为控制节点添加一个管理员级别的用户。使用adduser
命令:
# adduser [username]
2.定义强帐户密码,并可选择回答一系列问题。
3. 按Enter跳过你目前不想填写的任何字段。
4. 新账户准备就绪。现在,分配对该帐户的管理访问权限。以下命令分配超级用户权限,允许该帐户使用该sudo
命令:
# usermod -aG sudo [username]
使用该sudo
命令,新用户现在可以执行管理任务。当你要使用 Ansible 控制节点时,请登录新用户帐户。
设置 SSH 密钥对
1、在Ansible控制节点终端输入以下命令:
$ ssh-keygen
2. 按Enter显示以下输出:
3. 如果你已经设置了 SSH 密钥对,系统将显示以下输出。决定是否覆盖现有的 SSH 密钥对。
注意:覆盖会使之前的 SSH 密钥对不可用。由于这是一个不可逆转的过程,请确保在确认之前不再需要旧密钥。
4. 如何在Ubuntu上安装和配置Ansible?最后,系统会提示你提供密码。我们强烈建议添加强密码以避免将来出现任何安全问题:
输出应类似于以下内容:
配置 Ansible 主机
Ubuntu如何安装和配置Ansible?Ansible 主机是由 Ansible 控制节点监视和控制的远程服务器。每个主机都需要在系统用户的授权密钥目录中有控制节点的SSH密钥。
1. 设置 SSH 公钥最简单的方法是使用以下ssh-copy-id
命令复制它:
$ ssh-copy-id username@remote_host
2. 第一次使用该命令时,你可能会看到以下消息:
这种输出是正常的,第一次连接新的远程主机时会出现。
3. 要继续,只需输入yes
并按Enter 即可。
该实用程序现在搜索在上一步中生成的密钥对的公共部分。
4. 找到后,输入远程主机帐户的密码。
5. 按Enter确认密码。该实用程序将公钥上传到远程主机的帐户,并显示以下输出:
注意:为了安全起见,输入密码时不会显示密码。
第 2 步:安装 Ansible - Ubuntu Ansible安装和配置教程
1. 确保你系统的包索引是最新的。使用以下命令刷新包索引:
$ sudo apt update
2. 接下来,使用以下命令在 Ubuntu 上安装 Ansible:
$ sudo apt install ansible
3. 安装将提示你按Y
确认,其余安装过程将自动完成。
安装后,Ansible 控制节点可以管理远程主机。
第 3 步:设置库存文件
Ubuntu如何安装和配置Ansible?设置远程主机的清单文件,使 Ansible 能够与它们通信。
注意:清单文件包含有关你通过 Ansible 控制节点管理的远程主机的所有信息。你最多可以存储数百个主机,将它们组织成组和子组,并设置特定于你设置的组的变量。有关在远程主机上创建文件的深入概述,请参阅我们的文章如何在 Ansible 中创建文件。
1. 要访问清单文件,请在控制节点的终端中使用以下命令:
$ sudo nano /etc/ansible/hosts
Ansible 清单文件的默认路径是/etc/ansible/hosts
,但你也可以使用以下-i
参数提供自定义路径:
2. 打开清单文件后,你现在可以开始添加控制节点将管理的远程主机。默认的 Ansible 清单文件首先列出有关构建远程主机列表的一般建议和示例:
3. 滚动到文件底部以添加新主机并将它们分类。添加主机和类别时,使用以下格式:
[category name]
server_name ansible_host=[server_ip]
在本例中,我们使用其 IP 地址添加了一个名为server1的远程主机,并将其[servers]
归类为:
4. 将项目添加到 Ansible 的清单后,按 Ctrl + X,然后按Y保存清单文件。
5. 设置清单文件后,你始终可以使用以下命令再次检查它:
$ ansible-inventory --list -y
终端窗口将显示列出主机基础结构的输出:
步骤 4:测试连接
如何在Ubuntu上安装和配置Ansible?最后一步是确保 Ansible 控制节点连接到远程主机并运行命令。
1. 要测试与主机的连接,请在控制节点上的终端中使用以下命令:
$ ansible all -m ping
2. 正常情况下,这将是我们在步骤 1 中已经设置的非 root 用户。如果由于任何原因你需要以默认 root 用户身份测试连接,你可以-u
在命令中包含参数:
$ ansible all -m ping -u root
运行该命令会产生类似于以下内容的输出:
3. 如果你是第一次连接到远程主机,Ansible 会要求你确认主机是真实的。出现提示后,输入“是”并按 Enter 确认真实性。
当所有远程主机都回复“pong”时,你就可以开始通过 Ansible 控制节点运行命令了。
Ubuntu Ansible安装和配置教程结论
Ubuntu如何安装和配置Ansible?按照本指南中的步骤操作后,你已在 Ubuntu 20.04 上成功安装 Ansible。
你现在已准备好使用 Ansible 在远程服务器上执行命令和playbooks。