第 4 章 发布自动化执行环境
4.1. 自定义现有自动化执行环境镜像 复制链接链接已复制到粘贴板!
Ansible Controller 包括以下默认执行环境:
-
minimal- 包括最新的 Ansible-core 2.15 发行版本以及 Ansible Runner,但不包括集合或其他内容 -
EE 支持- Minimal,以及所有红帽支持的集合和依赖项
虽然这些环境涵盖了许多自动化用例,但您可以添加额外的项目来自定义这些容器,以满足您的特定需求。以下流程将 kubernetes.core 集合添加到 ee-minimal 默认镜像中:
流程
通过 Podman 登录到
registry.redhat.io:podman login -u="[username]" -p="[token/hash]" registry.redhat.io
$ podman login -u="[username]" -p="[token/hash]" registry.redhat.ioCopy to Clipboard Copied! Toggle word wrap Toggle overflow 确保您可以拉取所需的自动化执行环境基础镜像:
podman pull registry.redhat.io/ansible-automation-platform-24/ee-minimal-rhel8:latest
podman pull registry.redhat.io/ansible-automation-platform-24/ee-minimal-rhel8:latestCopy to Clipboard Copied! Toggle word wrap Toggle overflow 配置 Ansible Builder 文件,以指定所需的基础镜像以及添加到新执行环境镜像的任何其他内容。
例如,要将 来自 Galaxy 的 Kubernetes Core Collection 添加到镜像中,请使用 Galaxy 条目:
collections: - kubernetes.core
collections: - kubernetes.coreCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 有关定义文件及其内容的更多信息,请参阅 定义文件分类部分。
在执行环境定义文件中,在
EE_BASE_IMAGE字段中指定原始ee-minimal容器 URL 和标签。在这样做时,您的最终execute-environment.yml文件将类似如下:例 4.1. 自定义
execution-environment.yml文件Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意由于本例使用
kubernetes.core的社区版本,而不是来自自动化中心的认证集合,因此我们不需要创建ansible.cfg,也不在定义文件中引用。使用以下命令构建新执行环境镜像:
ansible-builder build -t [username]/new-ee
$ ansible-builder build -t [username]/new-eeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 其中
[username]指定您的用户名,new-ee指定新容器镜像的名称。注意如果您在
构建中没有使用-t,则创建名为ansible-execution-env'的镜像,并加载到本地容器 registry 中。使用
podman images命令确认您的新容器镜像在该列表中:例 4.2. 使用镜像
new-ee的podman images命令的输出REPOSITORY TAG IMAGE ID CREATED SIZE localhost/new-ee latest f5509587efbb 3 minutes ago 769 MB
REPOSITORY TAG IMAGE ID CREATED SIZE localhost/new-ee latest f5509587efbb 3 minutes ago 769 MBCopy to Clipboard Copied! Toggle word wrap Toggle overflow
验证是否安装了集合:
podman run [username]/new-ee ansible-doc -l kubernetes.core
$ podman run [username]/new-ee ansible-doc -l kubernetes.coreCopy to Clipboard Copied! Toggle word wrap Toggle overflow 标记在自动化中心中使用的镜像:
podman tag [username]/new-ee [automation-hub-IP-address]/[username]/new-ee
$ podman tag [username]/new-ee [automation-hub-IP-address]/[username]/new-eeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 使用 Podman 登录到您的自动化 hub:
注意您必须具有 Automation hub 的
admin或适当的容器存储库权限才能推送容器。如需更多信息,请参阅管理 自动化中心中的内容中的 管理私有自动化中心 中的管理容器 部分。podman login -u="[username]" -p="[token/hash]" [automation-hub-IP-address]
$ podman login -u="[username]" -p="[token/hash]" [automation-hub-IP-address]Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将镜像推送到自动化 hub 中的容器 registry 中:
podman push [automation-hub-IP-address]/[username]/new-ee
$ podman push [automation-hub-IP-address]/[username]/new-eeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 将新镜像拉取(pull)到自动化控制器实例中:
- 进入自动化控制器。
-
在导航面板中,选择
。 - 点。
输入适当的信息,然后点 以拉取新镜像。
注意如果您的自动化中心实例受密码或令牌保护,请确保设置了适当的容器 registry 凭证。