type
status
date
slug
summary
tags
category
icon
password

1. 角色的选择与检索

在使用Ansible Playbook时,角色的管理至关重要。选择来自集中管理的外部资源的角色可以确保所有项目使用的都是最新版本,并能共同分享bug修复。例如,您可以从以下几个地方获取角色:
  • Git存储库:如果角色是由您的组织创建并管理的,通常会存储在公司内部的Git存储库中。
  • Ansible Galaxy:这是一个由开源社区维护的公共库,您可以在这里找到很多开源角色。

2. 使用Ansible Galaxy

Ansible Galaxy是一个公共的Ansible内容库,您可以通过以下链接访问:Ansible Galaxy。在这个库中,您会找到数以千计的Ansible角色,您可以根据需要下载和使用。

2.1 Ansible Galaxy命令行工具

使用ansible-galaxy命令行工具,您可以:
  • 搜索角色:可以根据名称或标签搜索角色。
  • 安装角色:将角色安装到您的项目中。
  • 管理角色:列出、删除或初始化角色。

3. 使用需求文件安装角色

如果您的Playbook需要特定的角色,可以在项目目录中创建一个roles/requirements.yml文件,指定所需的角色。这使得Playbook的开发和测试可以与角色管理分开进行。

示例 requirements.yml 文件

  • src:角色的来源URL。
  • scm:表示此角色来自Git存储库。
  • version:可选,指定要安装的角色版本。

4. 安装角色

要安装requirements.yml文件中指定的角色,您可以运行以下命令:
  • r选项后跟需求文件的位置。
  • p选项指定角色安装的目录。
如果不指定-p roles,默认的角色安装位置是用户目录下的~/.ansible/roles,这可能不适合使用ansible-navigator执行Playbook。

5. 从Ansible Galaxy查找角色

在Ansible Galaxy中,您可以通过以下方式找到社区管理的角色:
  • 搜索功能:使用搜索框查找特定角色。
  • 按标签筛选:使用标签过滤以找到相关的角色。
  • 查看角色信息:每个角色都有详细信息,包括下载次数、GitHub的分支、许可证等。

示例搜索命令

这个命令将搜索与redis相关且适用于企业Linux平台的角色。

6. 管理已下载的角色

您可以使用ansible-galaxy命令管理本地下载的角色:
  • 列出角色
这个命令会列出您在项目中安装的所有角色。

7. 小贴士

  • 版本控制:建议将角色存储在版本控制系统(如Git)中,以便在出现问题时能够快速回滚到稳定版本。
  • 安全性:从Ansible Galaxy下载的角色并不经过红帽的审核,因此在使用时要谨慎。

结论

使用Ansible Galaxy和外部资源中的角色可以极大地提高Ansible Playbook的可重用性和效率。通过合理管理这些角色,您可以确保项目的稳定性和一致性。希望以上信息能够帮助您顺利进行Ansible角色的选择和管理!
 
 

实验手册:配置 Ansible 角色以管理 Bash 环境

实验目标

通过 Ansible 配置 Bash shell 环境,自动初始化新用户的配置,使其更友好和一致。

步骤概览

  1. 创建角色要求文件 requirements.yml
  1. 使用 ansible-galaxy 下载角色并安装。
  1. 配置 playbook 执行 student.bash_env 角色来管理新用户的 Bash 配置。
  1. 运行 playbook 并验证效果。
  1. 更新 requirements.yml 文件并重新安装角色
  1. 更改ansible.cfg文件
  1. 更改playbook,添加prompt——color
  1. 配置 playbook 执行student.bash_env角色来管理新用户的 Bash 配置。
  1. 运行 playbook 并验证效果。
 

使用手册:Ansible角色配置与管理 Bash 环境


实验目标

本实验旨在使用Ansible配置和管理远程主机的Bash shell环境。通过Ansible角色,我们将设置Bash的初始化文件、调整提示符、配置环境变量,确保新用户拥有一致且友好的Bash配置环境。

实验步骤

1. 启动实验环境并进入项目目录

2. 创建 roles 目录


步骤 1:定义角色要求文件 requirements.yml

~/role-galaxy 项目目录下创建 requirements.yml 文件并输入以下内容:

步骤 2:安装角色

使用 ansible-galaxy 命令安装角色到 roles 目录:

解释

  • r requirements.yml: 指定从 requirements.yml 文件中读取角色配置。
  • p roles: 将角色安装到 roles 目录中。

步骤 3:验证角色安装

  1. 使用 ls 命令查看 roles 目录,确保包含 student.bash_env 角色:
    1. 使用 ansible-galaxy list -p roles 命令查看已安装的角色列表:
      1. 注意:运行此命令可能会显示一个警告,提示 /home/student/.ansible/roles 文件夹不存在,但不会影响安装结果。

    步骤 4:编写主 Playbook 文件

    在项目目录中创建 use-bash_env-role.yml 文件,并输入以下内容:

    解释

    • vars: 设置 default_prompt 变量,用于定义Bash提示符格式。
    • pre_tasks: 使用 user 模块删除用户 student2,以确保用户不存在。
    • roles: 调用 student.bash_env 角色,应用Bash配置。
    • post_tasks: 创建一个新用户 student2 并设置密码。

    步骤 5:运行 Playbook

    使用以下命令运行 Playbook:
    该命令将执行所有任务,包括删除旧用户、应用Bash配置以及创建新用户 student2

    步骤 6:验证 Bash 配置

    执行以下命令,登录到远程主机并验证 student2 用户的Bash配置是否生效:

    步骤 7:更新角色版本

    1. 若需更新角色到 dev 分支版本,编辑 requirements.yml 文件,将 version: main 修改为 version: dev
      1. 配置 Ansible 角色路径

        在项目目录创建 ansible.cfg 文件,定义角色路径:
        这样设置后,Ansible将优先从 roles 目录中查找角色。

        移除角色

        若想从本地移除角色而不影响远程配置,可使用以下命令:

        注意

        此操作不会还原远程主机的Bash配置。远程主机上的Bash环境修改仍会保留。

        还原远程主机的 Bash 配置

        如果希望还原远程主机的Bash配置,可执行以下步骤:
      2. 手动还原配置文件:登录到远程主机并删除或重置 .bashrc 等文件。
      3. 编写新的Playbook:创建一个Playbook以删除 .bashrc.bash_profile 等文件,或重置它们为默认值。
    1. 重新安装角色:


       

      8. 再次运行Playbook并验证

      在Playbook文件中添加新的变量prompt_color,如下:
      重新运行use-bash_env-role.yml,验证配置已更新:
      1. 通过SSH连接到 student2@servera 确认更新效果。
      1. 完成后退出远程主机。

      11. 完成实验

      最后,结束实验:
       

      总结

      通过本实验,您已学会如何使用Ansible角色来管理远程主机用户的Bash环境,确保新用户拥有一致的Bash配置。同时,您还学会了如何更新角色版本、配置角色路径以及安全地移除本地角色。
       
      相关文章
      RHCE 9版本考试资料
      Lazy loaded image
      40.总复习-4 实验手册:galaxy角色配置与部署
      Lazy loaded image
      39.总复习-3 实验手册:配置 RHEL 系统角色和用户管理
      Lazy loaded image
      38.总复习-2 实验手册:Ansible Web 服务器配置和测试
      Lazy loaded image
      37.总复习-1 实验手册:配置和运行Ansible脚本
      Lazy loaded image
      36:总复习
      Lazy loaded image
      24:使用角色和Ansible内容合集简化Playbook-4 从内容集合获取角色和模块 22:使用角色和Ansible内容合集简化Playbook-2 创建角色
      Loading...
      みなみ
      みなみ
      一个普通的干饭人🍚
      最新发布
      02-生成AIパスポート試験対策:第2章「生成AI」
      2025-2-1
      01-生成AIパスポート試験対策:第1章「人口知能」
      2025-2-1
      究極のAWS認定 AI 実践者 AIF-C01 - 学習メモ
      2025-1-27
      不要再傻傻的直接买NISA啦
      2025-1-27
      Kubernetes、仮想マシンとコンテナの概念を超簡単に解説!
      2025-1-24
      529-AWS SAP AWS 「理論・実践・一問道場」VPCエンドポイント
      2025-1-22
      公告
      🎉欢迎访问我的博客🎉
      - 感谢您的支持 --
      本站点于2024/09/01建立
      👏主要分享IT相关主题👏
      系统管理:
      Redhat…
      容器和编排:
      Kubernetes、Openshift…
      云计算:
      AWS、IBM…
      AI入门
      以及技术笔记和考证经验
      定期更新,欢迎互动。
      感谢访问!
      快速浏览相关标签