首页 > 其他分享 >2022年RHCE认证考题解析最新版—RH294环境【转】

2022年RHCE认证考题解析最新版—RH294环境【转】

时间:2023-12-17 12:33:36浏览次数:58  
标签:ok name RHCE changed RH294 ansible greg node1 最新版

由于本人10.17已成功考过CSA,经过两周所学的ansible并结合题库整理出来的CE解析版
我也是11月月底就要考了,不过这套解析也是可以满足今年的redhat8题库

文中可能涉及一些命令的参数解释,如有不懂的伙伴可参考我的笔记Ansible

ps:一切模板似的题库考试,都需要经过大脑的理解 方可顺利上岸

正文开始:
文章目录
1、安装和配置Ansible
2、创建和运行Ansible临时命令
3、安装软件包
4、使用RHEL系统角色
5、使用Ansible Galaxy安装角色
6、创建和使用角色
7、从Ansible Galaxy使用角色
8、创建和使用逻辑卷
9、生成主机文件
10、修改文件内容
11、创建 Web 内容目录
12、生成硬件报告
13、创建密码库
14、创建用户账户
15、更新 Ansible 库的密钥
16、配置 cron 作业
1、安装和配置Ansible

创建主机清单

 

修改配置文件

//必须修改的配置文件
[grep@control ansible]$ vi ansible.cfg
[defaults]
inventory = /home/student/ansible/inventory
remote_user = greg ——自己所使用的用户
roles_path = /home/student/ansible/roles
host_key_checking = false ——主机之前传输文件不需要密钥认证
[privilege_escalation] 普通用户之间可以使用sudo模式
become = true
become_method = sudo
become_user = root
become_ask_pass = false

[greg@control ansible]$ mkdir roles
1
2
3
4
5
6
7
8
9
10
11
12
13
14
测试是否可以ping通


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

考试时可以开启两台终端,另一半负责查看模块帮助文档,在练习当中需记住模块的使用就好
[greg@control ansible]$ ansible-doc yum_repository

 


node1进行验证

[greg@node1 yum. repos.d]$ yum list all | wc -l
6336

3、安装软件包

 

 

测试:


4、使用RHEL系统角色

首先下载系统角色


调用角色配置

 

写入主配置文件
roles: 用来调用timesync中的角色模块

执行
测试

5、使用Ansible Galaxy安装角色

balancer: 使用的是负载均衡
phpinfo: php测试

将两对角色下载到本地
-r 指定使用那个play下载角色 -p 指定下载目录


6、创建和使用角色

手动创建角色

 

 

[greg@control ansible]$ cat htttp.yml
---
- name: install
hosts: webservers
roles:
- apache

 


[greg@control ansible]$ curl 172.25.250.11
Welcome to node3.lab.example.com on 172.25.250.11
[greg@control ansible]$ curl 172.25.250.12
Welcome to node4.lab.example.com on 172.25.250.12
1
2
3
4
5
6
7
8
9
10
11
12
13
14
7、从Ansible Galaxy使用角色


这题可能说的有点绕,但是仔细想想其实就是通过利用balancers角色里的haproxy部署好负载均衡

然后webservers组里包含着node3、node4主机,然而在第六题已经在webservers主机组部署好httpd服务和默认网页

第一步实验目的是实现在node5上负载均衡到webservers主机组

清单

 

PHP角色测试的内容
直接使用webservers组的IP访问

 

8、创建和使用逻辑卷

任务执行流程:

当block任务执行成功的时候,则执行always任务
当block任务执行失败的时候,则执行resvue任务,最后执行always任务(block任务执行失败,但是playbook不中止)

 

when语句是用来判断research卷组是否在data逻辑卷里面,如果存在则执行操作


测试:

 

[greg@control ansible] ansible all -a 'lvs'

[root@node2 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda 252:0 0 10G 0 disk
└─vda1 252:1 0 10G 0 part /
vdb 252:16 0 5G 0 disk
└─research-data 253:0 0 1.5G 0 lvm

[greg@node3 ~]$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda 252:0 0 10G 0 disk
└─vda1 252:1 0 10G 0 part /
vdb 252:16 0 5G 0 disk
└─vdb1 252:17 0 1G 0 part
└─research-data 253:0 0 800M 0 lvm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
9、生成主机文件


[greg@control ansible]$ wget http://materials/hosts.j2
--2022-11-09 11:07:41-- http://materials/hosts.j2
Resolving materials (materials)... 172.25.254.254
Connecting to materials (materials)|172.25.254.254|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 147
Saving to: ‘hosts.j2’

hosts.j2 100%[===================>] 147 --.-KB/s in 0s

2022-11-09 11:07:41 (37.9 MB/s) - ‘hosts.j2’ saved [147/147]

[greg@control ansible]$ ls
adhoc.sh hosts.j2 lv.yml roles timesync.yml
ansible.cfg inventory packages.yml roles.yml
[greg@control ansible]$ vim hosts.j2
[greg@control ansible]$ cat hosts.j2
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
{% for host in groups.all %} ——循环匹配所有主机中的内容
{{ hostvars[host].ansible_enp1s0.ipv4.address }} ——匹配主机组中IP地址
{{ hostvars[host].ansible_fqdn }} ——匹配完全合格域名
{{ hostvars[host].ansible_hostname }} ——匹配主机名
{% endfor %} ——结束for循环
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
[greg@control ansible]$ cat hosts.yml
---
- name: get all facts
hosts: all

- name: cp to myhosts
hosts: dev
tasks:
- name: cp file
template:
src: hosts.j2
dest: /etc/myhosts


//测试
[greg@control ansible]$ ansible-playbook hosts.yml

PLAY [get all facts] ***********************************************************

TASK [Gathering Facts] *********************************************************
ok: [node4]
ok: [node2]
ok: [node5]
ok: [node3]
ok: [node1]

PLAY [cp to myhosts] ***********************************************************

TASK [Gathering Facts] *********************************************************
ok: [node1]

TASK [cp file] *****************************************************************
changed: [node1]

PLAY RECAP *********************************************************************
node1 : ok=3 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
node2 : ok=1 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
node3 : ok=1 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
node4 : ok=1 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
node5 : ok=1 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0

//node1
[greg@node1 ~]$ cat /etc/myhosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
172.25.250.9
node1.lab.example.com
node1
172.25.250.10
node2.lab.example.com
node2
172.25.250.13
node5.lab.example.com
node5
172.25.250.11
node3.lab.example.com
node3
172.25.250.12
node4.lab.example.com
node4

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
10、修改文件内容

//原内容

[greg@node1 ~]$ cat /etc/issue
\S
Kernel \r on an \m
1
2
3
content :直接以content给定的字符串或变量值作为文件内容保存到远程主机上,它会替代src选项

[greg@control ansible]$ cat issue.yml
---
- name: modify issue
hosts: all
tasks:
- name: input to issue
copy:
content: |
{% if 'dev' in group_names %} ——将dev组中的所有内容替换
Development
{% elif 'test' in group_names %}
Test
{% elif 'prod' in group_names %}
Production
{% endif %}
dest: /etc/issue

[greg@control ansible]$ ansible-playbook issue.yml

PLAY [modify issue] ************************************************************

TASK [Gathering Facts] *********************************************************
ok: [node5]
ok: [node4]
ok: [node3]
ok: [node2]
ok: [node1]

TASK [input to issue] **********************************************************
changed: [node4]
changed: [node5]
changed: [node3]
changed: [node2]
changed: [node1]

PLAY RECAP *********************************************************************
node1 : ok=2 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
node2 : ok=2 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
node3 : ok=2 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
node4 : ok=2 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
node5 : ok=2 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0


//发生改变
[greg@node1 ~]$ cat /etc/issue
Development
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
11、创建 Web 内容目录


[greg@control ansible]$ cat webcontent.yml
---
- name: web station
hosts: dev
tasks:
- name: install rpm
yum:
name:
- httpd
- firewalld
state: present

- name: create group
group:
name: webdev
state: present

- name: create /webdev
file:
path: /webdev
state: directory
group: webdev
mode: 2775

- name: cp
copy:
content: Development
dest: /webdev/index.html

- name: set selinux ——修改为http的网页值
sefcontext:
target: /webdev(/.*)?
setype: httpd_sys_content_t

- name: shell
shell:
cmd: restorecon -Rv /webdev

- name: create link ——创建软链接实现共享
file:
src: /webdev
dest: /var/www/html/webdev
state: link

- name: restart httpd
service:
name: httpd
state: restarted
enabled: yes

- name: restart firewalld
service:
name: firewalld
state: restarted
enabled: yes

- name: firewall for http _放行防火墙规则
firewalld:
service: http
state: enabled
permanent: yes
immediate: yes


[greg@control ansible]$ ansible-playbook webcontent.yml

PLAY [web station] *************************************************************

TASK [Gathering Facts] *********************************************************
ok: [node1]

TASK [install rpm] *************************************************************
ok: [node1]

TASK [create group] ************************************************************
ok: [node1]

TASK [create /webdev] **********************************************************
ok: [node1]

TASK [cp] **********************************************************************
ok: [node1]

TASK [set selinux] *************************************************************
ok: [node1]

TASK [shell] *******************************************************************
changed: [node1]

TASK [create link] *************************************************************
changed: [node1]

TASK [restart httpd] ***********************************************************
changed: [node1]

TASK [restart firewalld] *******************************************************
changed: [node1]

TASK [firewall for http] *******************************************************
changed: [node1]

PLAY RECAP *********************************************************************
node1 : ok=11 changed=5 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0


[greg@control ansible]$ curl http://node1.lab.example.com/webdev/
Development

————————————————
版权声明:本文为CSDN博主「Blue Dream~」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/cxyxt/article/details/127728055

 

标签:ok,name,RHCE,changed,RH294,ansible,greg,node1,最新版
From: https://www.cnblogs.com/paul8339/p/17908932.html

相关文章

  • 红帽认证RHCE9.0版本2023年12月的红帽9.0RHCE9版本RHCSA考试题⽬+考试答案,本人已过,全
     translatorAfrikaansAlbanian-shqipeArabic-‎‫العربية‬‎Armenian-ՀայերէնAzerbaijani-azərbaycancaBasque-euskaraBelarusian-беларускаяBengali-বাংলাBulgarian-българскиCatalan-catalàChi......
  • OnePlus2刷入kaliNetHunter最新版!最性价比设备
    WIFI、蓝牙、相机正常KALI版本:nethunter-2023.4-oneplus2cm-pie-kalifs-full.zip系统版本:lineage-16.0-20181110-UNOFFICIAL-oneplus2.zip(Android9,代号pie)刷机流程简介可能我理解的不正确,如有误可留言。首先刷入lineage系统。建议这边重刷一遍,防止后面有误。好的,那么接下......
  • 运维工程师必备-Linux-RHCE认证介绍
    原创:厦门微思网络红帽RHCE9.0课程介绍红帽公司介绍红帽是首个(也是全球最大、全球领先)的企业开源软件解决方案提供商,在过去20几年里,红帽已经成为开源社区里令人尊敬的成员,赞助了数百个开源项目,并为数千个项 目贡献代码。屡获殊荣的支持、培训和咨询服务使红帽成为《财富》500......
  • 最新版Office2024安装教程
    一.介绍:Office版本都是每三年发布一个版本,从Office2007、2010、2013、2016、2019,2021到现在的2024。二.下载:资源下载三.安装教程:1.用到的软件是开源的脚本,有两个:YAOCTRU和YAOCTRI,其中YAOCTRU用来下载Office,YAOCTRI用来安装Office。解压YAOCTRU后,运行YAOCTRU_Generator.cm......
  • 最新版Adobe详细安装教程分享,技能必备,PS软件所有版本都有windows(2023版本)
    一、下载链接:资源下载二、介绍:又到了一年一度的Adobe软件更新的时间,这次来的是Adobe全家桶2023,作为目前主流的图像处理软件套装,Adobe的每一次更新都能引来广大设计师的关注。新增功能借助选择工具的全新增强功能,您可以更快、更轻松地创建具有细节边缘的高品质剪切画。移动对......
  • wiki confluence 8.7.1最新版安装部署 支持docker安装
    截止到2023年12月confluence最新版本为8.7.1,支持docker安装、linux常规安装、windows常规安装,下面就以docker安装部署为例,常规安装部署方法可以参考【仅限学习研究用,请支持正版】一、系统环境要求linux系统推荐centos系统4核8G+100G硬盘 二、安装部署1、先关闭防火墙......
  • 最新版本——Hadoop3.3.6单机版完全部署指南
    大家好,我是独孤风,大数据流动的作者。本文基于最新的Hadoop3.3.6的版本编写,带大家通过单机版充分了解ApacheHadoop的使用。本文更强调实践,实践是大数据学习的重要环节,也能在实践中对该技术有更深的理解,所以一些理论知识建议大家多阅读相关的书籍(都在资料包中)。本文档版权......
  • 2023最新版VMware WorkStation虚拟机保姆式安装手册
    博主环境:版本:Windows10专业版版本号:22H2安装日期:2023-01-29操作系统内部版本:19045.3693体验:WindowsFeatureExperiencePack1000.19053.1000.0VMwareWorkstation17Pro第一步:下载地址:https://www.vmware.com/cn/products/workstation-pro.html第二步:安装双击:VMwa......
  • linux安装最新版本composer
    wgethttps://getcomposer.org/composer.pharmvcomposer.pharcomposerchmod+xcomposersudomvcomposer/usr/bin/composer-V切换为中国源composerconfig-grepo.packagistcomposerhttps://packagist.phpcomposer.com......
  • 【2023最新版】PyCharm使用 Jupyter Notebook详解(在conda环境里安装Jupyter~PyCharm使
    ​一、准备工作1.安装Anaconda、PyCharm  win11安装Anaconda(2022.10)+pycharm(2022.3/2023.1.4)+配置虚拟环境  Jupyter是Anaconda发行版的一部分,并默认随Anaconda一起安装。(也可以独立安装和使用,无需依赖Anaconda)pipinstalljupyternotebookcondainstallju......