4.2. 自定义现有执行环境镜像


Ansible Controller 附带三个默认执行环境:

  • Ansible 2.9 - 不安装 Controller 模块以外的集合
  • minimal - 包含最新的 Ansible 2.12 版本以及 Ansible Runner,但不包含集合或其他额外内容
  • EE Supported - 包含所有红帽支持的内容

虽然这些环境涵盖了许多自动化用例,但您可以添加额外的项目来自定义这些容器,以满足您的特定需求。以下流程将 kubernetes.core 集合添加到 ee-minimal 默认镜像中:

流程

  1. 通过 Podman 登录到 registry.redhat.io

    $ podman login -u="[username]" -p="[token/hash]" registry.redhat.io
    Copy to Clipboard Toggle word wrap
  2. 拉取自动化执行环境镜像

    podman pull registry.redhat.io/ansible-automation-platform-21/ee-minimal-rhel8:latest
    Copy to Clipboard Toggle word wrap
  3. 配置 Ansible Builder 文件,以指定要添加到基于 ee-minimal 的新执行环境镜像的任何额外内容。

    1. 例如,要将来自 Galaxy 的 Kubernetes Core Collection 添加到镜像中,请填写 requirements.yml 文件,如下所示:

      collections:
        - kubernetes.core
      Copy to Clipboard Toggle word wrap
    2. 如需有关定义文件及其内容的更多信息,请参阅定义文件分类部分
  4. 在执行环境定义文件中,通过 EE_BASE_IMAGE 字段指定到 originalee-minimal 容器的文件路径。这样,您的最终 execute-environment.yml 文件将类似如下:

    例 4.2. 自定义 execution-environment.yml 文件

    version: 1
    
    build_arg_defaults:
      EE_BASE_IMAGE: 'example.registry.com/my-base-ee'
    
    dependencies:
      galaxy: requirements.yml
    Copy to Clipboard Toggle word wrap
    注意

    由于本例使用 kubernetes.core 的社区版本,而不是来自自动化中心的认证集合,因此我们不需要创建 ansible.cfg,也不在定义文件中引用。

  5. 使用以下命令构建新执行环境镜像:

    $ ansible-builder build -t registry.redhat.io/[username]/new-ee
    Copy to Clipboard Toggle word wrap

    其中 [username] 指定您的用户名,new-ee 指定新容器镜像的名称。

    1. 使用 podman images 命令确认您的新容器镜像在该列表中:

      例 4.3. 使用镜像 new-eepodman images 命令的输出

      REPOSITORY          TAG     IMAGE ID      CREATED        SIZE
      localhost/new-ee    latest  f5509587efbb  3 minutes ago  769 MB
      Copy to Clipboard Toggle word wrap
  6. 通过 Ansible Navigator 验证新创建的执行环境镜像
  7. 标记在自动化中心中使用的镜像:

    $ podman tag registry.redhat.io/_[username]_/_new-ee_ [automation-hub-IP-address]/_[username]_/_new-ee_
    Copy to Clipboard Toggle word wrap
  8. 使用 Podman 登录到您的自动化 hub:

    注意

    您必须具有 Automation hub 的 admin 或适当的容器存储库权限才能推送容器。如需更多信息,请参阅 Red Hat Ansible Automation Platform 文档中的在私有自动化中心管理容器

    $ podman login -u="[username]" -p="[token/hash]" [automation-hub-IP-address]
    Copy to Clipboard Toggle word wrap
  9. 将镜像推送到自动化 hub 中的容器 registry 中:

    $ podman push [automation-hub-IP-address]/_[username]_/_new-ee_
    Copy to Clipboard Toggle word wrap
  10. 将新镜像拉取(pull)到自动化控制器实例中:

    1. 进入自动化控制器。
    2. 在侧面导航栏中,点 Administration Execution Environments
    3. 点击 Add
    4. 输入适当的信息,然后点 Save 以拉取新镜像。

      注意

      如果您的自动化中心实例受密码或令牌保护,请确保设置了适当的容器 registry 凭证。

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部