构建你的第一个执行环境

我们将构建一个 EE,它代表一个 Ansible 控制节点,其中包含标准包,例如 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
    

    注意

    在集合的 requirements.txt 文件中包含了 psycopg2-binary Python 包。对于没有包含 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 社区论坛中的本指南解释了如何为你的执行环境镜像设置本地注册表。