×

operator-sdk CLI 可以为每个 Operator 项目生成或 *搭建* 若干包和文件。

Red Hat 支持的 Operator SDK CLI 工具版本(包括与 Operator 项目相关的脚手架和测试工具)已弃用,计划在未来版本的 OpenShift Dedicated 中删除。Red Hat 将在此版本的生命周期内为此功能提供错误修复和支持,但此功能将不再接收增强功能,并将从未来的 OpenShift Dedicated 版本中删除。

不建议使用 Red Hat 支持的 Operator SDK 版本创建新的 Operator 项目。拥有现有 Operator 项目的 Operator 作者可以使用 OpenShift Dedicated 发布的 Operator SDK CLI 工具版本来维护其项目并创建针对较新版本的 OpenShift Dedicated 的 Operator 版本。

以下与 Operator 项目相关的基础镜像 *未* 被弃用。这些基础镜像的运行时功能和配置 API 仍然支持错误修复和解决 CVE。

  • 基于 Ansible 的 Operator 项目的基础镜像

  • 基于 Helm 的 Operator 项目的基础镜像

有关不受支持的社区维护版本的 Operator SDK 的信息,请参见 Operator SDK (Operator Framework)

基于 Ansible 的项目布局

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

文件或目录 用途

Dockerfile

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

Makefile

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

PROJECT

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

config/crd

基础 CRD 文件和 kustomization.yaml 文件设置。

config/default

收集所有用于部署的 Operator 清单。由 make deploy 命令使用。

config/manager

控制器管理器部署。

config/prometheus

ServiceMonitor 资源用于监控 Operator。

config/rbac

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

config/samples

为 CRD 创建的示例资源。

config/testing

用于测试的示例配置。

playbooks/

运行 playbook 的子目录。

roles/

运行角色树的子目录。

watches.yaml

要监视的资源的组/版本/种类 (GVK),以及 Ansible 调用方法。使用create api命令添加新条目。

requirements.yml

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

molecule/

用于对您的角色和 Operator 进行端到端测试的 Molecule 场景。