×

operator-sdk CLI可以为每个运算符项目生成或_搭建_多个包和文件。

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

不建议使用Red Hat支持的Operator SDK版本创建新的Operator项目。拥有现有Operator项目的Operator作者可以使用OpenShift Container Platform 4.17发布的Operator SDK CLI工具版本来维护其项目并创建面向更新版本的OpenShift Container Platform的Operator版本。

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

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

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

有关OpenShift Container Platform中已弃用或移除的主要功能的最新列表,请参阅OpenShift Container Platform发行说明中的_已弃用和移除的功能_部分。

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

基于Go的项目布局

使用operator-sdk init命令生成的基于Go的Operator项目(默认类型)包含以下文件和目录

文件或目录 用途

main.go

Operator的主程序。这将实例化一个新的管理器,该管理器在apis/目录中注册所有自定义资源定义 (CRD),并在controllers/目录中启动所有控制器。

apis/

定义CRD的API的目录树。必须编辑apis/<version>/<kind>_types.go文件以定义每种资源类型的API,并在控制器中导入这些包以监视这些资源类型。

controllers/

控制器实现。编辑controller/<kind>_controller.go文件以定义控制器处理指定类型的资源类型的协调逻辑。

config/

用于在集群上部署控制器的Kubernetes清单,包括CRD、RBAC和证书。

Makefile

用于构建和部署控制器的目标。

Dockerfile

容器引擎用于构建Operator的指令。

manifests/

用于注册CRD、设置RBAC和将Operator作为部署部署的Kubernetes清单。