Ansible描述角色结构

一、利用角色构造ansible playbook

1、What's 角色

1️⃣:Ansible角色提供了一种方法,让用户能以通用的方式更加轻松地重复利用Ansible代码。

我们可以在标准化目录结构中打包所有任务、变量、文件、模板,以及调配基础架构或部署应用所需的其他资源

只需通过复制相关的目录,将角色从一个项目复制到另一个项目。然后,只需从一个play调用该角色就能执行它

3️⃣:借助编写良好的角色,可以从playbook中向角色传递调整其行为的变量,设置所有站点相关的主机名、IP地址、用户名,或其他在本地需要的具体详细信息

3️⃣:Ansible具备的优点:

  1. 角色可以分组内容,从而与他人轻松共享代码
  2. 可以编写角色来定义系统类型的基本要素:Web服务器、数据库服务器、Git存储库,或满足其他用途
  3. 角色使得较大型项目更容易管理
  4. 角色可以由不同的管理员并行开发

4️⃣:除了自行编写、使用、重用和共享角色外,还可以从其他来源获取角色。一些角色已包含在rhel-system-roles软件包中,用户也可以从Ansible Galaxy网站获取由社区提供支持的许多角色

  • 使用rhel-system-roles软件包使用角色
     //在控制节点上查看本地的角色
    [root@localhost ~]# ls /usr/share/ansible/roles/
    
     //安装rhel-system-roles
    [root@localhost ~]# yum list | grep rhel-system-roles
    rhel-system-roles.noarch                             1.0-9.el8                                          appstream    
    [root@localhost ~]# yum install -y rhel-system-roles
    
     //在次查看本地的角色
    [root@localhost ~]# ls /usr/share/ansible/roles/
    linux-system-roles.kdump    linux-system-roles.postfix  linux-system-roles.storage   rhel-system-roles.kdump    rhel-system-roles.postfix  rhel-system-roles.storage
    linux-system-roles.network  linux-system-roles.selinux  linux-system-roles.timesync  rhel-system-roles.network  rhel-system-roles.selinux  rhel-system-roles.timesync

 

 

上一篇:day03变量的命名规范,常量,输出:自带换行,输入,注释,数据类型,运算符,常用字符大小关系


下一篇:PHP输出当前进程所有变量 / 常量 / 模块 / 函数 / 类