ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2021-10-08 23:30:19  阅读:218  来源: 互联网

标签:角色 roles ## RHCE B4 ansible playbook timesync


红帽RHCE考试下午-RHCE(RH294)

RH294任务概览

  • 考试时间4个小时,6台虚拟机,15道题
  • 原来通过脚本或者集群做的题现在都需要使用playbook实现
  • 考试时大概有6台虚拟服务器,都已经做好了互相的免密
  • 做题在ansible控制节点workstation做,但是需要去其他虚拟服务器进行验证
  • 考试时需要将6台虚拟服务器在考试环境全部开启,物理机界面点击左侧按钮启动
  • 考试时Ansible所有playbook都放在普通用户目录中且都以普通用户执行
  1. 注意:考试时一定注意要求将playbook放在指定用户的家目录中,用指定的用户登录做题!
  2. 注意:考试的判分方式通过普通用户远程执行指定目录下的playbook或者脚本,如果使用root做题,则没有权限就是零分

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

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

任务要求

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

准备个工作

  • 考试期间不需要做

完成步骤

  • 先切到root安装rhel角色包rhel-system-roles
  • 也可以sudo装呀
[root@workstation ~]# dnf -y install rhel-system-roles
[root@workstation ~]# su - student 
  • 装完了记得切换回student用户
  • 创建目录并拷贝角色模板到考试目录
[student@workstation ansible]$ mkdir roles
[student@workstation ansible]$ cp -r /usr/share/ansible/roles/rhel-system-roles.timesync/ /home/sutdent/ansible/roles/timesync

注意:拷贝的时候使用-r参数拷贝目录下所有文件及文件夹,但不能使用-a参数,否则权限就乱了

  • 找到角色timesync角色说明文件
    /home/student/ansible/roles/timesync/README.md
    注意:这个文件即是说明文件,也包含了模板
  • 在说明文件中找到一段示例yaml
- hosts: targets
  vars:
  不啦不啦不啦
  • 按照要求创建角色的yml文件
  • 把上面找到的内容拷贝过来改吧改吧
[student@workstation ansible]$ vim timesync.yml
---
- name: set time sync
    hosts: all
        vars:
        timesync_ntp_servers:
            - hostname: classroom.example.com
              iburst: yes
        roles:
            - timesync
[student@workstation ansible]$ ansible-playbook timesync.yml

注意:角色名是改过的呦

  • 还有一种情况是使用selinux系统角色,配置该角色,开启所有受控节点的selinux,套路是一样的
  1. 进入系统角色目录,找到题中要求的系统角色
  2. 拷贝到题中要求的指定目录,并改名
  3. 查看拷贝过来角色目录中的说明文档redame.md,找到实例字段
  4. 拿过来根据题目要求改吧改吧就行了,记得一定得改成题中要求一样的
[student@workstation ansible]$ vim selinux.yml
---
- name: set selinux
    hosts: all
        vars:
        selinux_policy: targeted
        selinux_state: enforcing
        roles:
            - role: selinux
              become: ture
[student@workstation ansible]$ ansible-playbook timesync.yml

考察的知识点

Ansible roles 角色

  • 角色是ansible自1.2版本引入的新特性,用于层次性、结构化地组织playbook。
  • roles能够根据层次型结构自动装载变量文件、tasks以及handlers等。
  • 要使用roles只需要在playbook中使用include指令即可。
  • 简单来讲,roles就是通过分别将变量、文件、任务、模板及处理器放置于单独的目录中,并可以便捷地include它们的一种机制。
  • 角色一般用于基于主机构建服务的场景中,但也可以是用于构建守护进程等场景中。

默认roles存放路径

/root/.ansible/roles
/usr/share/ansible/roles
/etc/ansible/roles

playbook 调用角色

  • 调用角色方法1:
---
- hosts: websrvs
  remote_user: root
  roles:
    - mysql
    - memcached
    - nginx
  • 调用角色方法2:键role用于指定角色名称,后续的k/v用于传递变量给角色
---
- hosts: all
  remote_user: root
  roles:
    - role: mysql
      username: mysql
    - { role: nginx, username: nginx }
  • 调用角色方法3:还可基于条件测试实现角色调用
---
- hosts: all
  remote_user: root
  roles:
    - { role: nginx, username: nginx, when: ansible_distribution_major_version =='7' }

RHEL 系统角色简介

  • RHEL 系统角色是 Ansible 角色和模块的集合。RHEL 系统角色提供了一个配置界面,用于远程管理多个 RHEL 系统。这个界面允许在多个 RHEL 版本间管理系统配置,以及处理新的主发行版本。

  • 在 Red Hat Enterprise Linux 8 中,该接口目前由以下角色组成:

    kdump ## 内核崩溃转储机制
    network ## 网络相关
    selinux ## selinux阿耐庵安全规则
    storage ## 存储
    certificate ## 证书相关
    kernel_settings ## 呵呵设定内核
    logging ## 日志配置
    metrics ## 集群核心监控数据的聚合器
    nbde_client 和 nbde_server ## 网络绑定磁盘加密
    timesync ## 时间同步
    tlog  ## 轻量级的分布式日志标记追踪神器
  • 所有这些角色都由 AppStream 存储库中可用的 rhel-system-roles 软件包提供。

标签:角色,roles,##,RHCE,B4,ansible,playbook,timesync
来源: https://blog.csdn.net/timonium/article/details/120662053

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有