构建你的第一个执行环境

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

构建你的第一个执行环境

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

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

    version: 3
    
    images:
      base_image:
        name: quay.io/fedora/fedora:39
    
    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的执行环境容器镜像。

    如果你使用 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

继续运行你的执行环境并测试你刚刚构建的执行环境。

另请参见

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

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