如何在 Ubuntu 18.04 LTS 上安装和配置 Ansible如何在 Ubuntu 18.04 LTS 上安装和配置 Ansible如何在 Ubuntu 18.04 LTS 上安装和配置 Ansible如何在 Ubuntu 18.04 LTS 上安装和配置 Ansible
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何在 Ubuntu 18.04 LTS 上安装和配置 Ansible

本教程适用于这些操作系统版本

  • Ubuntu 22.04(果酱水母)
  • Ubuntu 18.04(仿生海狸)

在此页

  1. 要求
  2. 开始
  3. 安装和配置 Ansible
  4. 为客户端系统配置 SSH 密钥
  5. 使用 Ansible

Ansible 是一种免费的开源软件,可用于自动化软件供应、配置管理和应用程序部署。与 Puppet 或 Chef 不同,您不必在使用 Ansible 之前设置客户端-服务器环境。您可以从一个中央位置管理多个主机。该工具非常简单但功能强大,可以自动化复杂的多层 IT 应用程序环境。 Ansible 通过正常的 SSH 通道进行通信,以从远程机器检索信息并执行任务。

在本教程中,我们将学习如何在 Ubuntu 18.04 服务器上安装和使用 Ansible。

要求

  • 两个安装了 OpenSSH 服务器的 Ubuntu 18.04 服务器系统。
  • 在服务器系统上设置静态 IP 地址 192.168.0.101,在客户端系统上设置 192.168.0.104。
  • 在两个系统上都设置了具有 sudo 权限的非根用户。

入门

在开始之前,使用以下命令将您的系统更新为最新版本:

sudo apt-get update -y
sudo apt-get upgrade -y

系统更新后,重新启动系统以应用更改。

安装和配置 Ansible

默认情况下,最新版本的 Ansible 在 Ubuntu 18.04 默认存储库中不可用。因此,您需要将 Ansible PPA 添加到您的服务器。您可以通过运行以下命令来执行此操作:

sudo apt-add-repository ppa:ansible/ansible

接下来,更新存储库并使用以下命令安装 Ansible:

sudo apt-get update -y
sudo apt-get install ansible -y

安装完成后,您可以使用以下命令检查 Ansible 版本:

sudo ansible --version

输出:

ansible 2.7.1
  config file = /etc/ansible/ansible.cfg
  configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python2.7/dist-packages/ansible
  executable location = /usr/bin/ansible
  python version = 2.7.15rc1 (default, Nov 12 2018, 14:31:15) [GCC 7.3.0]

接下来,您需要在 Ansible 主机文件中定义要管理的客户端系统。您可以通过编辑 /etc/ansible/hosts 文件来执行此操作:

sudo nano /etc/ansible/hosts

添加以下行:

[Client]
node1 ansible_ssh_host=192.168.0.104

完成后保存并关闭文件。

为客户端系统配置 SSH 密钥

Ansible 使用 SSH 与客户端主机通信。因此,您需要为客户端主机配置基于密钥的 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:bTVjTCKqxD8rnIw7/6mB6ZH9cnhzzOFg+/+x4clSOow 
The key's randomart image is:
+---[RSA 2048]----+
|        . . .    |
|   .   . . +     |
|    o .     *    |
|   . o   . o o   |
|    . o S o      |
|   O .oo..  .    |
|  * Bo.* + oo    |
| ..oo+=.E =o =   |
|  ooo*++...+*    |
+----[SHA256]-----+

接下来,使用以下命令将此公钥复制到客户端系统:

ssh-copy-id -i ~/.ssh/id_rsa.pub 4

输出:

/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
's password: 

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh ''"
and check to make sure that only the key(s) you wanted were added.

使用 Ansible

Ansible 现已安装并配置。它的时间测试 Ansible。

在 Ansible 服务器上,尝试通过以下命令使用 Ansible ping 客户端系统。

ansible -m ping Client

输出:

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

如果您在 Ansible 主机文件中配置了多个客户端。然后,您可以使用以下命令 ping 所有客户端系统:

ansible -m ping all

您可以使用以下命令检查客户端系统上 Apache Web 服务器的状态:

ansible -m shell -a 'service apache2 status' Client

输出:

node1 | CHANGED | rc=0 >>
 * apache2 is running

要检查客户端系统的分区大小,请运行以下命令:

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

输出:

node1 | CHANGED | rc=0 >>
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       138G   48G   83G  37% /
none            4.0K     0  4.0K   0% /sys/fs/cgroup
udev            1.9G  4.0K  1.9G   1% /dev
tmpfs           384M  1.2M  383M   1% /run
none            5.0M     0  5.0M   0% /run/lock
none            1.9G   67M  1.9G   4% /run/shm
none            100M   36K  100M   1% /run/user
/dev/sda5       225G   35G  180G  16% /Data

恭喜!您已在 Ubuntu 18.04 服务器上成功安装和配置 Ansible。您现在可以轻松地使用 Ansible 远程执行简单任务。

©2015-2025 艾丽卡 support@alaica.com