红帽 RHCE8 认证考试:使用 Ansible Galaxy 安装角色

题目描述

使用 Ansible Galaxy 和要求文件 /home/greg/ansible/roles/requirements.yml. 从以下 URL 下载角色并安装到 /home/greg/ansible/roles:

  • http://materials/haproxy.tar 此角色的名称应当为 balancer;
  • http://materials/phpinfo.tar 此角色的名称应当为 phpinfo.

详细解析

Ansible Galaxy 就是 Ansible 的角色存储库,我们可以使用 ansible-galaxy 命令对 Ansible 角色进行管理。

首先,根据题目要求创建 playbook:

vim /home/greg/ansible/roles/requirements.yml

在 playbook 中写入如下内容(其中,name 为角色名称,src 为角色的下载地址):

---
- name: balancer
  src: http://materials/haproxy.tar

- name: phpinfo
  src: http://materials/phpinfo.tar

之后,使用如下命令来安装角色(-r 参数用于指定要用的 playbook, -p 命令用于指定角色的存储位置,也就是 RHCE8 第一题中指定的角色存储位置。):

ansible-galaxy install -r /home/greg/ansible/roles/requirements.yml -p /home/greg/ansible/roles/

角色安装完成之后,我们可以在 /home/greg/ansible/roles/ 目录下,使用 ll 命令查看一下是否存在名为 balancerphpinfo 的两个文件夹,如果存在,则基本上可以说明相应的角色已经安装成功。

当然,我们也可以使用 ansible-galaxy list 命令列出当前系统中已经安装的角色,如果返回的查询结果中包含 balancerphpinfo 这两个角色,则说明本题已经成功完成。