构建你的第一个执行环境

我们将构建一个代表 Ansible 控制节点的 EE,其中包含标准软件包,例如 ansible-core 和 Python,以及 Ansible 集合(community.postgresql)及其依赖项(psycopg2-binary Python 连接器)。

构建你的第一个 EE

  1. 在你的文件系统上创建一个项目文件夹。

    mkdir my_first_ee && cd my_first_ee
    
  2. 创建一个 execution-environment.yml 文件,该文件指定要包含在镜像中的依赖项。

    version: 3
    
    images:
      base_image:
        name: quay.io/fedora/fedora:latest
    
    dependencies:
      ansible_core:
        package_pip: ansible-core
      ansible_runner:
        package_pip: ansible-runner
      system:
      - openssh-clients
      - sshpass
      galaxy:
        collections:
        - name: community.postgresql
    

    注意

    psycopg2-binary Python 包包含在集合的 requirements.txt 文件中。对于不包含 requirements.txt 文件的集合,你需要显式指定 Python 依赖项。有关详细信息,请参阅 Ansible Builder 文档

  3. 构建一个名为 postgresql_ee 的 EE 容器镜像。

    如果你使用 docker,请添加 --container-runtime docker 参数。

    ansible-builder build --tag postgresql_ee
    
  4. 列出容器镜像以验证你是否成功构建了它。

    podman image list
    
    localhost/postgresql_ee          latest      2e866777269b  6 minutes ago  1.11 GB
    

你可以通过检查 context 目录中的 ContainerfileDockerfile 来查看其配置,从而验证你创建的镜像。

less context/Containerfile

你还可以使用 Ansible Navigator 查看有关镜像的详细信息。

运行 ansible-navigator 命令,在 TUI 中输入 :images,然后选择 postgresql_ee

继续 运行你的 EE 并测试你刚刚构建的 EE。

另请参阅

为执行环境运行本地容器注册表

Ansible 社区论坛中的本指南介绍了如何为你的执行环境镜像设置本地注册表。