5.4.3. 基于 Ansible 的 Operator 的项目布局

operator-sdk CLI 可为每个 Operator 项目生成或 scaffold 多个 软件包和文件。

5.4.3.1. 基于 Ansible 的项目布局

使用 operator-sdk init --plugins ansible 命令生成的基于 Ansible 的 Operator 项目包含以下目录和文件:

文件或目录用途

Docker

用于为 Operator 构建容器镜像的 Dockerfile。

Makefile

用于构建、发布、部署容器镜像的目标,其中包含 Operator 二进制文件,用于安装和卸载自定义资源定义(CRD)。

PROJECT

包含 Operator 元数据信息的 YAML 文件。

config/crd

基本 CRD 文件和 kustomization.yaml 文件的设置。

config/default

为部署收集所有 Operator 清单。被 make deploy 命令使用。

config/manager

Controller Manager 部署。

config/prometheus

用于监控 Operator 的ServiceMonitor 资源。

config/rbac

领导选举和身份验证代理的角色和角色绑定。

config/samples

为 CRD 创建的资源示例。

config/testing

用于测试的示例配置。

playbooks/

要运行的 playbook 的子目录。

roles/

要运行的角色树的子目录。

watches.yaml

要监视的资源的 Group/version/kind(GVK)和 Ansible 调用方法。使用 create api 命令添加新条目。

requirements.yml

包含要在构建期间安装的 Ansible 集合和角色依赖项的 YAML 文件。

molecule/

模拟您角色和 Operator 端到端测试的场景。