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

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐