hgxfg9

人生若只如初见,何事秋风悲画扇。

0%

RHCE --- RH294 任务概览

RHCE — RH294 任务概览

1. 按要求安装和配置 Ansible

  • 按照下方所述,在控制节点 workstation.lab.example.com 上安装和配置 Ansible:

任务要求

  1. 安装所需的软件包 (考试时要验证一下ansible是不是装好了)
  2. 创建名为/home/student/ansible/inventory 的静态清单文件, 以满足以下需求:
    servera 是dev 主机组的成员
    serverb 是 test 主机组的成员
    serverc 和 serverd 是 prod 主机组的成员
    prod 组 是webservers 主机组的成员
    bastion 是 balancers 主机组的成员
  3. 创建名为/home/student/ansible/ansible.cfg 的配置文件, 以满足以下要求:
    主机清单文件为/home/student/ansible/inventory
    playbook 中使用的角色的位置包括/home/student/ansible/roles
    注意:因student 执行命令时需要输入密码, 会导致ansible 执行失败, 因此先添加sudoers 规则(考试中不需要修改,在考试中用的是 admin 用户)

2. 创建和运行 Ansible 临时命令

  • 作为系统管理员, 您需要在受管节点上安装软件.
  • 请按照下方所述, 创建一个名为/home/student/ansible/adhoc.sh 的 shell 脚本,
  • 该脚本将使用Ansible 临时命令在各个受管节点上安装 yum 存储库:
  • 说白了就是用ansible命令配置yum源

任务要求

  1. 存储库 1: 存储库的名称为 rh294_BASE
    描述为 rh294 base software
    存储库为开启状态
    基础URL 为 http://content.example.com/rhel8.0/x86_64/dvd/BaseOS
    GPG 签名检查为启用状态
    GPG 密钥 URL 为 http://content.example.com/rhel8.0/x86_64/dvd/RPM-GPG-KEY-redhat-release
  2. 存储库 2: 存储库的名称为 rh294_STREAM
    描述为 rh294 stream software
    存储库为开启状态
    基础URL 为 http://content.example.com/rhel8.0/x86_64/dvd/AppStream
    GPG 签名检查为启用状态
    GPG 密钥 URL 为 http://content.example.com/rhel8.0/x86_64/dvd/RPM-GPG-KEY-redhat-release

3. 安装 php 和 mariadb 软件包到指定主机组

  • 创建一个名为 /home/student/ansible/packages.yml 的 playbook:

任务要求

  1. 将 php 和 mariadb 软件包安装到 dev、test 和 prod 主机组中的主机上
  2. 将RPM Development Tools 软件包组安装到 dev 主机组中的主机上
  3. 将 dev 主机组中主机上的所有软件包更新为最新版本

4. 使用 RHEL 系统角色软件包创建配置时间角色

  • 安装 RHEL 系统角色软件包,并创建符合以下条件的 playbook

任务要求

  • 编写 /home/student/ansible/timesync.yml
  • 在所有受管节点上运行
  1. 使用 timesync 角色
  2. 配置该角色,以使用当前有效的 NTP 提供商
  3. 配置该角色,以使用时间服务器 classroom.example.com
  4. 配置该角色,以启用 iburst 参数

5. 使用Ansible Galaxy 安装角色

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

任务要求

  • 从链接下载角色并安装角色
1
2
http://172.25.250.250/ansible2.8/haproxy.tar.gz 此角色的名称应当为 balancer
http://172.25.250.250/ansible2.8/phpinfo.tar.gz 此角色的名称应当为 phpinfo

6. 创建和使用 apache 角色

  • 根据下列要求,在/home/student/ansible/roles 中创建名为 http 的角色
  • 按照下方所述,创建一个使用此角色的 playbook /home/student/ansible/newrole.yml:
  • 该playbook 在webservers 主机组中的主机上运行

任务要求

  1. httpd 软件包已安装,设为在系统启动时启用并启动
  2. 防火墙已启用并正在运行,并使用允许访问Web 服务器的规则
  3. 模板文件 index.html.j2 已存在,用于创建具有以下输出的文件/var/www/html/index.html: Welcome to HOSTNAME on IPADDRESS
  4. 其中,HOSTNAME 是受管节点的完全限定域名,IPADDRESS 则是受管节点的 IP 地址。

7. 从 Ansible Galaxy 使用角色创建web负载均衡

  • 根据下列要求,创建一个名为 /home/student/ansible/roles.yml 的playbook:
  • 这道题要应用到第5道题下载并初始化好了的两个角色
  • 其实就部署一负载均衡器,只需要调用角色就可以了

任务要求

  1. playbook 中包含一个 play,该 play 在 balancers 主机组中的主机上运行并将使用 balancer 角色。
  2. 此角色配置一项服务,以在 webservers 主机组中的主机之间平衡 Web 服务器请求的负载。
  3. 浏览到 balancers 主机组中的主机(例如 http://bastion.lab.example.com/ )将生成以下输出: Welcome to serverc.example.com on 172.25.1.12
  4. 重新加载浏览器将从另一 Web 服务器生成输出: Welcome to serverd.example.com on 172.25.1.13
  5. playbook 中包含一个 play,该 play 在 webservers 主机组中的主机上运行并将使用 phpinfo 角色。
  6. 通过 URL /hello.php 浏览到 webservers 主机组中的主机将生成以下输出: Hello PHP World from FQDN 其中,FQDN 是主机的完全限定名称。

8. 利用playbook在指定主机组创建和使用逻辑卷

  • 创建一个名为/home/student/ansible/lv.yml 的 playbook,
  • 它将在所有受管节点上运行以执行下列任务:

任务要求

  • 创建符合以下要求的逻辑卷:
  1. 逻辑卷创建在 research 卷组中逻辑卷名称为 data
  2. 逻辑卷大小为 1500MiB
  3. 使用ext4 文件系统格式化逻辑卷
  4. 如果无法创建请求的逻辑卷大小,应显示错误消息Could not create logical volume of that size,并且应改为使用大小 800MiB。
  5. 如果卷组research 不存在 ,应显示错误消息Volume group does not exist。
  6. 不要以任何方式挂载逻辑卷
    注意:有的主机上有逻辑卷阿祖,有的主机上没有逻辑卷,有的主机上不足够创建1500但能创建800

9. 利用playbooke生成主机清单文件

  • 使用playbook在所有主机组生成指定格式的文件

任务要求

  • 将一个初始模板文件从 http://172.25.250.250/ansible2.8/fifiles/hosts.j2 下载到 /home/student/ansible
  • 完成该模板,以便用它生成以下文件:针对每个清单主机包含一行内容,其格式与 /etc/hosts 相同创建名为 /home/student/ansible/hosts.yml 的 playbook,
  • 它将使用此模板在 dev 主机组中的主机上生成文件 /etc/myhosts。
  • 该 playbook 运行后,dev 主机组中主机上的文件/etc/myhosts 应针对每个受管主机包含一行内容:
1
2
3
4
5
6
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
172.24.1.6 servera.lab1.example.com servera
172.24.1.7 serverb.lab1.example.com serverb
172.24.1.8 serverc.lab1.example.com serverc
172.24.1.9 serverd.lab1.example.com serverd 172.24.1.10 bastion.lab1.example.com bastion

10. 利用playbook在不同主机组修改文件内容

  • 按照下方所述,创建一个名为 /home/student/ansible/issue.yml 的 playbook:
  • 该 playbook 将在所有清单主机上运行
  • 该 playbook 会将 /etc/issue 的内容替换为下方所示的一行文本:

任务要求

  1. 在 dev 主机组中的主机上,这行文本显示为:Development
  2. 在 test 主机组中的主机上,这行文本显示为:Test
  3. 在 prod 主机组中的主机上,这行文本显示为:Production

11. 利用playbook创建 Web 内容目录

  • 按照下方所述,创建一个名为 /home/student/ansible/webcontent.yml 的 playbook:
  • 该 playbook 在 dev 主机组中的受管节点上运行

任务要求

  1. 创建符合下列要求的目录 /webdev: 所有者为 devops 组具有常规权限:
    owner=read+write+execute,group=read+write+execute, other=read+execute
  2. 具有特殊权限: set group ID
  3. 用符号链接将 /var/www/html/webdev 链接到 /webdev
  4. 创建文件 /webdev/index.html,其中包含如下所示的单行文本:Development
  5. 在 dev 主机组中主机上浏览此目录(例如 http://servera.lab.example.com/webdev/ )将生成以下输出:Development

12. 利用playbook生成所有清单主机指定硬件信息报告

  • 创建一个名为 /home/student/ansible/hwreport.yml 的 playbook,
  • 它将在所有受管节点上生成含有以下信息的输出文件 /root/hwreport.txt:

任务要求

  • 输出文件 /root/hwreport.txt
  1. hostname: inventoryhostname
  2. mem: memory_in_MB
  3. bios: BIOS_version
  4. vda: disk_vda_size
  5. vdb: disk_vdb_size
  • 输出文件中的每一行含有一个 key=value 对。
  • playbook 应当从 http://content.example.com/fifiles/hwreport.empty 下载文件,并将它保存为/root/hwreport.txt
  • 使用正确的值修改 /root/hwreport.txt
  • 如果硬件项不存在,相关的值应设为NONE

13. 创建Ansible密码库

  • 按照下方所述,创建一个 Ansible 库来存储用户密码:库名称为 /home/student/ansible/locker.yml

任务要求

  • 库中含有两个变量,名称如下:
  1. pw_developer,值为 Imadev
  2. pw_manager,值为 Imamgr
  • 用于加密和解密该库的密码为kkk123456
  • 密码存储在文件 /home/student/ansible/secret.txt 中

14. 基于Ansible密码库创建用户帐户

  • http://172.25.250.250/ansible2.8/user_list.yml 下载要创建的用户的列表,并将它保存到/home/student/ansible
  • 在本次考试中使用在其他位置创建的密码库 /home/student/ansible/locker.yml,
  • 创建名为/home/student/ansible/users.yml 的 playbook,
  • 从而按以下所述创建用户帐户:

任务要求

  • 职位描述为 developer 的用户应当:
  1. 在 dev 和 test 主机组中的受管节点上创建
  2. 从 pw_developer 变量分配密码
  3. 是附加组 student 的成员
  4. 新增要求设置密码有效期为30天
  • 职位描述为 manager 的用户应当:
  1. 在 prod 主机组中的受管节点上创建
  2. 从 pw_manager 变量分配密码
  3. 是附加组 devops 的成员
  4. 新增要求设置密码有效期为30天
  • 密码应采用 SHA512 哈希格式。
  • 您的 playbook 应能够在本次考试中使用在其他位置创建的库密码文件/home/student/ansible/secret.txt 正常运行

15.更新 Ansible库的密钥

  • 按照下方所述,更新现有 Ansible 库的密钥:

任务要求

  1. http://172.25.250.250/ansible2.8/salaries.yml 下载 Ansible 库到 /home/student/ansible
  2. 当前的库密码为 AAAAAAAAA
  3. 新的库密码为 BBBBBBBBB
  4. 库使用新密码保持加密状态

16.编写playbook创建cron计划任务

  • 编写名cron.yml的playbook,在指定主机组servera上运行
  • 这道题playbook叫什么名字不重要啊,反正都是复制,指定的主机组还是要看准了的

任务要求

  1. 基于student用户创建cron任务
  2. 每隔两分钟执行logger “hello rhce”

注意:住过是其他时间,就帮助里找阐述就行了

-------- 本文结束 感谢阅读 --------
你的鼓励是我更新的动力!