RHCE实战

一. 安装和配置 Ansible

1.安装所需的软件包

sudo yum install ansible -y

 mkdir /home/greg/ansible/

 cd /home/greg/ansible/

 2.创建名为 /home/greg/ansible/inventory 的静态清单文件,以满足以下要求

node1 是 dev 主机组的成员

node2 是 test 主机组的成员

node3 和 node4 是 prod 主机组的成员

node5 是 balancers 主机组的成员

prod 组是 webservers 主机组的成员

vim /home/greg/ansible/inventory

 [dev]
node1 
[test]
node2 
[prod]
node3
node4
[balancers]
node5 
[webservers:children]
prod 

 3.创建名为 /home/greg/ansible/ansible.cfg 的配置文件,以满足以下要求

主机清单文件为 /home/greg/ansible/inventory

playbook 中使用的角色的位置包括 /home/greg/ansible/roles

cp /etc/ansible/ansible.cfg /home/greg/ansible/

 vim /home/greg/ansible/ansible.cfg

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

作为系统管理员,您需要在受管节点上安装软件。请按照正文所述,创建一个名为/home/greg/ansible/adhoc.sh 的 shell 脚本,该脚本将使用 Ansible 临时命令在各个受管节点上安装 yum 存储库

vim /home/greg/ansible/adhoc.sh

 ansible-doc -l | grep yum

chmod +x /home/greg/ansible/adhoc.sh 

 三.安装软件包

创建一个名为 /home/greg/ansible/packages.yml 的 playbook

1.将 php 和 mariadb 软件包安装到 dev、test 和 prod 主机组中的主机上

ansible-doc yum

/EX

2.将 RPM Development Tools 软件包组安装到 dev 主机组中的主机上

 

3.将 dev 主机组中主机上的所有软件包更新为最新版本

 四.A 使用 RHEL 系统角色

 安装 RHEL 系统角色软件包,并创建符合以下条件的 playbook /home/greg/ansible/selinux.yml

 cd /

 yum search role

 sudo yum install rhel-system-roles.noarch -y

 ansible-galaxy list

cd - 

vim /home/greg/ansible/ansible.cfg 

ansible-galaxy list 

rpm -ql rhel-system-roles | grep selinux 

cp /usr/share/doc/rhel-system-roles/selinux/example-selinux-playbook.yml /home/greg/ansible/selinux.yml 

 vim /home/greg/ansible/selinux.yml

1.在所有受管节点上运行

2.使用 selinux 角色

3.配置该角色,配置被管理节点的 selinux 为enforcing

 四.B 使用 RHEL 系统角色(OLD)

安装 RHEL 系统角色软件包,并创建符合以下条件的 playbook /home/greg/ansible/timesync.yml

cp -r /usr/share/ansible/roles/rhel-system-roles.timesync/ /home/greg/ansible/roles/

ansible-galaxy list

rpm -ql rhel-system-roles | grep timesync 

vim /home/greg/ansible/timesync.yml 

1.在所有受管节点上运行

2.使用 timesync 角色

3.配置该角色,以使用当前有效的 NTP 提供商

4.配置该角色,以使用时间服务器 172.25.254.254

5.配置该角色,以启用 iburst 参数

 

 五.使用 Ansible Galaxy 安装角色

使用 Ansible Galaxy 安装角色

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

 

 六.创建和使用角色

根据下列要求,在 /home/greg/ansible/roles 中创建名为 apache 的角色

ansible-galaxy init roles/apache

1.httpd 软件包已安装,设为在系统启动时启用并启动

2.防火墙已启用并正在运行,并使用允许访问 Web 服务器的规则

 3.模板文件 index.html.j2 已存在,用于创建具有以下输出的文件 /var/www/html/index.html

1        Welcome to HOSTNAME on IPADDRESS

其中,HOSTNAME 是受管节点的完全限定域名,IPADDRESS 则是受管节点的 IP 地址。

vim roles/apache/templates/index.html

ansible node1 -m setup -a filter=*nodename* 

ansible node1 -m setup -a filter=*ipv4* 

创建一个名为 /home/greg/ansible/apache.yml 的 playbook:

 vim /home/greg/ansible/apache.yml

 

4.该 play 在 webservers 主机组中的主机上运行并将使用 apache 角色

 ansible-playbook apache.yml

七.从 Ansible Galaxy 使用角色

vim /home/greg/ansible/roles.yml

 八.A 创建和使用分区(NEW)

 创建一个名为 /home/greg/ansible/partition.yml 的 playbook ,它将在所有受管节点上创建分区

 vim /home/greg/ansible/partition.yml

1.在vdb创建一个1500M主分区,分区号1,并格式化ext4

 ansible-doc parted

 ansible-doc filesystem

2.prod组将分区永久挂载到/data

 ansible-doc mount

3.如果磁盘空间不够,给出提示信息Could not create partition of that size创建800MiB分区

 ansible-doc debug

 ansible node2 -m setup -a filter=*dev*

4.如果 vdb不存在,则给出提示信息this disk is not exist

 八.B 创建和使用逻辑卷(OLD)

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

vim /home/greg/ansible/lv.yml 

1.创建符合以下要求的逻辑卷:

逻辑卷创建在 research 卷组中

逻辑卷名称为 data

逻辑卷大小为 1500 MiB

 ansible-doc lvol

 

2.使用 ext4 文件系统格式化逻辑卷

如果无法创建请求的逻辑卷大小,应显示错误信息

1        Could not create logical volume of that size

 并且应改为使用大小 800 MiB。

如果卷组 research 不存在,应显示错误信息

1        Volume group done not exist

不要以任何方式挂载逻辑卷

 ansible-doc filesystem

 

 ansible-doc debug

 ansible node2 -m setup -a fileter=*dev*

九. 生成主机文件

1.将一个初始模板文件从 http://materials/hosts.j2 下载到 /home/greg/ansible

 wget http://materials/hosts.j2

2.完成该模板,以便用它生成以下文件:针对每个清单主机包含一行内容,其格式与 /etc/hosts 相同

 vim hosts.j2

3.创建名为 /home/greg/ansible/hosts.yml 的 playbook ,它将使用此模板在 dev 主机组中的主机上生成文件 /etc/myhosts 。

 vim /home/greg/ansible/hosts.yml

 ansible-doc template

 十.修改文件内容

按照下方所述,创建一个名为 /home/greg/ansible/issue.yml 的 playbook

vim /home/greg/ansible/issue.yml 

1.该 playbook 将在所有清单主机上运行

 ansible-doc copy

2.该 playbook 会将 /etc/issue 的内容替换为下方所示的一行文本:

    在 dev 主机组中的主机上,这行文本显示 为:Development

    在 test 主机组中的主机上,这行文本显示 为:Test

    在 prod 主机组中的主机上,这行文本显示为:Production

 十一.创建 Web 内容目录

按照下方所述,创建一个名为 /home/greg/ansible/webcontent.yml 的 playbook

vim /home/greg/ansible/webcontent.yml 

1.该 playbook 在 dev 主机组中的受管节点上运行

2.创建符合下列要求的目录 /webdev :

所有者为 webdev 组

具有常规权限:owner=read+write+execute , group=read+write+execute ,other=read+execute具有特殊权限:设置组 ID

ansible-doc file  

3.用符号链接将 /var/www/html/webdev 链接到 /webdev

4.创建文件 /webdev/index.html ,其中包含如下所示的单行文件: Development

5.在 dev 主机组中主机上浏览此目录(例如 http://172.25.250.9/webdev/ )将生成以下输出:

1        Development

ansible-doc copy

man semanage fcontext 

 十二.生成硬件报告

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

 vim /home/greg/ansible/hwreport.yml 

 打开hw report

 ansible-doc lineinfile

1.清单主机名称

2.以 MB 表示的总内存大小

3.BIOS 版本

4.磁盘设备 vda 的大小

5.磁盘设备 vdb 的大小

6.输出文件中的每一行含有一个 key=value 对。

您的 playbook 应当:

7.从 http://materials/hwreport.empty 下载文件,并将它保存为 /root/hwreport.txt

 ansible-doc get_url  

8.使用正确的值改为 /root/hwreport.txt

9.如果硬件项不存在,相关的值应设为 NONE

所有的都要加 

 十五.更新 Ansible 库的密钥

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

1.从 http://materials/salaries.yml 下载 Ansible 库到 /home/greg/ansible

wget http://materials/salaries.yml 

2.当前的库密码为 insecure8sure

3.新的库密码为 bbs2you9527

ansible-vault rekey salaries.yml 

4.库使用新密码保持加密状态

 十三.创建密码库

 按照下方所述,创建一个 Ansible 库来存储用户密码

1.库名称为 /home/greg/ansible/locker.yml

 ansible-vault create /home/greg/ansible/locker.yml 

2.库中含有两个变量,名称如下:

    pw_developer,值为 Imadev

    pw_manager,值为 Imamgr

3.用于加密和解密该库的密码为 whenyouwishuponastar

4.密码存储在文件 /home/greg/ansible/secret.txt 中

echo whenyouwishuponastar > /home/greg/ansible/secret.txt 

 vim /home/greg/ansible/ansible.cfg

                vault_password_file = /home/greg/ansible/secret.txt 

 十四. 创建用户帐户

1.从 http://materials/user_list.yml 下载要创建的用户的列表,并将它保存到 /home/greg/ansible

 wget http://materials/user_list.yml

2.在本次练习中使用在其他位置创建的密码库 /home/greg/ansible/locker.yml 。创建名为 /home/greg/ansible/users.yml 的 playbook ,从而按以下所述创建用户帐户:

vim /home/greg/ansible/users.yml 

    2.1职位描述为 developer 的用户应当:

        在 dev 和 test 主机组中的受管节点上创建

        从 pw_developer 变量分配密码

        是补充组 devops 的成员

 ansible-doc group

 ansible-doc user

 ​​​

    2.2职位描述为 manager 的用户应当:

        在 prod 主机组中的受管节点上创建

        从 pw_manager 变量分配密码

        是补充组 opsmgr 的成员

3.密码采用 SHA512 哈希格式。

4.您的 playbook 应能够在本次练习中使用在其他位置创建的库密码文件 /home/greg/ansible/secret.txt 正常运行。

 十六.配置 cron 作业(增加)

创建一个名为 /home/greg/ansible/cron.yml 的 playbook :

vim /home/greg/ansible/cron.yml 

1.该 playbook 在 test 主机组中的受管节点上运行

2.配置 cron 作业,该作业每隔 2 分钟运行并执行以下命令:

3.logger "EX200 in progress",以用户 natasha 身份运行

ansible-doc cron 

 ​​​​​

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

想做运维大佬

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值