rhce-b5.使用ansiblegalaxy安装角色(代码片段)

白-胖-子 白-胖-子     2023-01-12     735

关键词:

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

RH294任务概览

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

5. 使用Ansible Galaxy 安装角色

  • 使用 Ansible Galaxy 和要求文件 /home/student/ansible/roles/requirements.yml,
  • 从以下 URL 下载角色并安装到 /home/student/ansible/roles:

任务要求

  • 从链接下载角色并安装角色
http://172.25.250.250/ansible2.8/haproxy.tar.gz 此角色的名称应当为 balancer
http://172.25.250.250/ansible2.8/phpinfo.tar.gz 此角色的名称应当为 phpinfo

注意:

准备个工作

  • 考试期间不需要做

完成步骤

  • 可以先wget一下看看远程主机上面的包是不是能下载
  • 在角色目录中编写角色请求的yml文件,将远程角色地址写进去就行了
[student@workstationansible]$ vim roles/requirements.yml
---
- name: balancer
  src: http://172.25.250.250/ansible2.8/haproxy.tar.gz
- name: phpinfo
  src: http://172.25.250.250/ansible2.8/files/phpinfo.tar.gz
[student@workstation ansible]$ ansible-galaxy install -r roles/requirements.yml -p roles/
  • ansible-galaxy这个命令是用来管理角色的
    ansible-galaxy install -r <写好的playbook.yml> -p <指定安装到得目录>

  • 验证结果,看看新装的角色在不在目录中生成了

[student@workstation ansible]$ ls roles/ 
apache http requirements.yml 
balancer phpinfo timesync

考察的知识点

Ansible galaxy

  • Galaxy是查找和共享Ansible内容的hub。
  • 使用Galaxy以Ansible社区的丰富内容启动您的自动化项目。
  • Galaxy提供了预先打包的工作单元,Ansible称之为角色,Galaxy 3.2中新增了集合。
  • 可以将角色放入Ansible剧本中,并立即投入工作。您将找到调配基础架构、部署应用程序以及您每天执行的所有任务的角色。新的集合格式提供了一个全面的自动化包,其中可能包括多个剧本、角色、模块和插件。
  • 使用Galaxy的搜索页面查找项目的角色和集合,然后按照说明将它们下载到Ansible主机上。
  • 通过共享您创建的精彩内容来帮助其他Ansible用户。也许您的角色是安装和配置一个流行的软件包,或者一个包含一套自动化的集合,用于管理您公司的硬件和服务。不管它是什么,使用Galaxy与社区共享它。
说人话版:
 Ansible galaxy类似于GitHub,ansible-galaxy 类似于git命令,
 可以将hub上的角色或者模块、插件之类的下载部署到本地。

使用ansible-galaxy从文件安装多个角色

  • 可以通过在requirements.yml文件中列出多个角色来安装它们。

  • 文件格式为YAML,文件扩展名必须为.yml或.yaml。

  • 使用以下命令安装requirements.yml中包含的角色:
    $ ansible-galaxy install -r requirements.yml

  • 文件中的每个角色将具有以下一个或多个属性:

src  
    角色的源和必需的属性。
    使用namespace.role\\u name格式指定Galaxy中的角色,或在基于git的SCM中提供指向存储库的URL。
scm 
    如果src是URL,请指定SCM。只支持git或hg。
    默认为git。
version:
    要下载的角色的版本。提供标记值、提交哈希或分支名称。
    默认为master。
name:
    将角色下载到特定名称。当从Galaxy下载时,默认为Galaxy名称;
    当src是URL时,默认为存储库的名称。
  • 以下示例提供了在requirements.yml文件中列出角色的指南:
# from galaxy
- src: yatesr.timezone

# from GitHub
- src: https://github.com/bennojoy/nginx

# from GitHub, overriding the name and specifying a specific tag
- src: https://github.com/bennojoy/nginx
  version: master
  name: nginx_role

# from a webserver, where the role is packaged in a tar.gz
- src: https://some.webserver.example.com/files/master.tar.gz
  name: http-role

# from Bitbucket
- src: git+http://bitbucket.org/willthames/git-ansible-galaxy
  version: v1.4

# from Bitbucket, alternative syntax and caveats
- src: http://bitbucket.org/willthames/hg-ansible-galaxy
  scm: hg

# from GitLab or other git-based scm
- src: git@gitlab.company.com:mygroup/ansible-base.git
  scm: git
  version: "0.1"  # quoted, so YAML doesn't parse this as a floating-point value
  • 使用include指令,可以将其他YAML文件包含到单个requirements.yml文件中。
  • 对于大型项目,这提供了将大型文件拆分为多个较小文件的能力。
  • 例如,一个项目可能有一个requirements.yml文件和一个webserver.yml文件。以下显示requirements.yml文件的内容
# from galaxy
- src: yatesr.timezone
- include: <path_to_requirements>/webserver.yml

以下是webserver.yml文件的内容:

# from github
- src: https://github.com/bennojoy/nginx

# from Bitbucket
- src: git+http://bitbucket.org/willthames/git-ansible-galaxy
  version: v1.4
  • 要安装这两个文件中的所有角色,请在命令行上传递根文件,在本例中为requirements.yml,如下所示:
    $ ansible-galaxy install -r requirements.yml

rhce-b1.按要求安装和配置ansible(代码片段)

红帽RHCE考试下午-RHCE(RH294)RH294任务概览考试时间4个小时,6台虚拟机,15道题原来通过脚本或者集群做的题现在都需要使用playbook实现考试时大概有6台虚拟服务器,都已经做好了互相的免密做题在ansible控制... 查看详情

rhce-b3.创建playbook安装php和mariadb软件包到指定主机组(代码片段)

红帽RHCE考试下午-RHCE(RH294)RH294任务概览考试时间4个小时,6台虚拟机,15道题原来通过脚本或者集群做的题现在都需要使用playbook实现考试时大概有6台虚拟服务器,都已经做好了互相的免密做题在ansible控制... 查看详情

rhce-b6.创建和使用apache角色(代码片段)

红帽RHCE考试下午-RHCE(RH294)RH294任务概览考试时间4个小时,6台虚拟机,15道题原来通过脚本或者集群做的题现在都需要使用playbook实现考试时大概有6台虚拟服务器,都已经做好了互相的免密做题在ansible控制... 查看详情

如何自动安装 Ansible Galaxy 角色?

】如何自动安装AnsibleGalaxy角色?【英文标题】:HowtoautomaticallyinstallAnsibleGalaxyroles?【发布时间】:2014-10-0312:28:45【问题描述】:我所有的Ansible剧本/角色都签入到我的git存储库中。但是,对于AnsibleGalaxy角色,我总是必须在每台要... 查看详情

rhce-b8.利用playbook在指定主机组创建和使用逻辑卷

红帽RHCE考试下午-RHCE(RH294)RH294任务概览考试时间4个小时,6台虚拟机,15道题原来通过脚本或者集群做的题现在都需要使用playbook实现考试时大概有6台虚拟服务器,都已经做好了互相的免密做题在ansible控制... 查看详情

rhce-b4.使用rhel系统角色软件包创建配置时间角色(代码片段)

红帽RHCE考试下午-RHCE(RH294)RH294任务概览考试时间4个小时,6台虚拟机,15道题原来通过脚本或者集群做的题现在都需要使用playbook实现考试时大概有6台虚拟服务器,都已经做好了互相的免密做题在ansible控制... 查看详情

rhce-b13.创建ansible密码库,使用文件内密码加密yml(代码片段)

红帽RHCE考试下午-RHCE(RH294)RH294任务概览考试时间4个小时,6台虚拟机,15道题原来通过脚本或者集群做的题现在都需要使用playbook实现考试时大概有6台虚拟服务器,都已经做好了互相的免密做题在ansible控制... 查看详情

rhce-b8.利用playbook在指定主机组创建和使用逻辑卷(代码片段)

红帽RHCE考试下午-RHCE(RH294)RH294任务概览考试时间4个小时,6台虚拟机,15道题原来通过脚本或者集群做的题现在都需要使用playbook实现考试时大概有6台虚拟服务器,都已经做好了互相的免密做题在ansible控制... 查看详情

Ansible 角色/包 - Ansible Galaxy - 安装 MAC OSX 时出错

】Ansible角色/包-AnsibleGalaxy-安装MACOSX时出错【英文标题】:Ansibleroles/packages-AnsibleGalaxy-erroroninstallationMACOSX【发布时间】:2016-08-2518:47:25【问题描述】:我正在尝试通过CLI在MacOSXElCapitan上安装ansible-galaxy角色$ansible-galaxyinstall-rrequire... 查看详情

rhce-b9.利用playbooke生成主机清单文件

红帽RHCE考试下午-RHCE(RH294)RH294任务概览考试时间4个小时,6台虚拟机,15道题原来通过脚本或者集群做的题现在都需要使用playbook实现考试时大概有6台虚拟服务器,都已经做好了互相的免密做题在ansible控制... 查看详情

roles角色(代码片段)

目录roles角色调用角色:includeroles调用角色playbook执行顺序roles的依赖在使用roles依赖时注意:使用ansiblegalaxy部署角色搜索角色:获取角色信息安装角色从指定文件中安装角色使用rhel­systemroles安装rhel­systemrolesroles角色... 查看详情

rhce-b16.编写playbook创建cron计划任务

红帽RHCE考试下午-RHCE(RH294)RH294任务概览考试时间4个小时,6台虚拟机,15道题原来通过脚本或者集群做的题现在都需要使用playbook实现考试时大概有6台虚拟服务器,都已经做好了互相的免密做题在ansible控制... 查看详情

rhce-b15.更新ansible库的密钥(代码片段)

红帽RHCE考试下午-RHCE(RH294)RH294任务概览考试时间4个小时,6台虚拟机,15道题原来通过脚本或者集群做的题现在都需要使用playbook实现考试时大概有6台虚拟服务器,都已经做好了互相的免密做题在ansible控制... 查看详情

rhce-b2.创建和运行ansible临时命令(代码片段)

红帽RHCE考试下午-RHCE(RH294)RH294任务概览考试时间4个小时,6台虚拟机,15道题原来通过脚本或者集群做的题现在都需要使用playbook实现考试时大概有6台虚拟服务器,都已经做好了互相的免密做题在ansible控制... 查看详情

rhce-b9.利用playbooke生成主机清单文件(代码片段)

红帽RHCE考试下午-RHCE(RH294)RH294任务概览考试时间4个小时,6台虚拟机,15道题原来通过脚本或者集群做的题现在都需要使用playbook实现考试时大概有6台虚拟服务器,都已经做好了互相的免密做题在ansible控制... 查看详情

rhce-b10.利用playbook在不同主机组修改文件内容

红帽RHCE考试下午-RHCE(RH294)RH294任务概览考试时间4个小时,6台虚拟机,15道题原来通过脚本或者集群做的题现在都需要使用playbook实现考试时大概有6台虚拟服务器,都已经做好了互相的免密做题在ansible控制... 查看详情

rhce-b14.基于ansible密码库创建用户帐户(代码片段)

红帽RHCE考试下午-RHCE(RH294)RH294任务概览考试时间4个小时,6台虚拟机,15道题原来通过脚本或者集群做的题现在都需要使用playbook实现考试时大概有6台虚拟服务器,都已经做好了互相的免密做题在ansible控制... 查看详情

rhce-b16.编写playbook创建cron计划任务(代码片段)

红帽RHCE考试下午-RHCE(RH294)RH294任务概览考试时间4个小时,6台虚拟机,15道题原来通过脚本或者集群做的题现在都需要使用playbook实现考试时大概有6台虚拟服务器,都已经做好了互相的免密做题在ansible控制... 查看详情