×

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

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

不建议使用 Red Hat 支持的 Operator SDK 版本创建新的 Operator 项目。拥有现有 Operator 项目的 Operator 作者可以使用随 Red Hat OpenShift Service on AWS 发布的 Operator SDK CLI 工具版本来维护其项目并创建针对较新版本的 Red Hat OpenShift Service on AWS 的 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

用于监控 Operator 的ServiceMonitor资源。

config/rbac

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

config/samples

为 CRD 创建的示例资源。

config/testing

用于测试的示例配置。

playbooks/

用于运行 playbook 的子目录。

roles/

用于运行角色树的子目录。

watches.yaml

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

requirements.yml

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

molecule/

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