在 Kubernetes 上部署并自动伸缩 GitHub Actions 自托管 Runner 的控制器。
operator-framework/operator-sdk
用于构建 Kubernetes Operator 的 Go 语言 SDK,提供高层 API、项目脚手架与代码生成。
- Star
- 7,690
- Fork
- 1,779
- 未关闭 Issue
- 81
- 最近提交
- 18天前
这是什么?
Operator SDK 是一个用于编写 Kubernetes Operator 的框架。Operator 是在 Kubernetes 上管理复杂有状态应用的控制器。直接基于底层 API 编写 Operator 需要大量样板代码和重复逻辑,该 SDK 旨在减少这部分工作。
SDK 基于 controller-runtime 库构建,提供编写协调(reconcile)逻辑的高层 API 和抽象,并带有用于快速初始化项目的脚手架与代码生成工具,以及针对常见 Operator 场景的扩展。它是 Operator Framework 整体项目的一部分。
使用该 SDK 构建的项目面向 Kubernetes 环境,项目文档中包含 Go 版本、Kubernetes 版本兼容性以及各二进制文件和镜像支持的平台。
核心功能
- 01提供编写 Operator 协调逻辑的高层 API 和抽象。
- 02支持脚手架生成新的 Operator 项目并自动生成代码。
- 03基于 controller-runtime 库构建。
- 04包含针对常见 Operator 使用场景的扩展。
适用场景
- 开发自定义 Kubernetes Operator,自动化部署和管理有状态应用。
- 使用生成的脚手架快速初始化一个基于 Go 的 Operator 项目。
- 为运行在 Kubernetes 上的服务增加升级、备份等运维自动化。
快速上手
- 1
阅读 Operator SDK 官方文档网站
- 2
查看开发者指南中的先决条件以确定所需的 Go 版本
使用前须知
- README 提示 gcr.io/kubebuilder 下的镜像(包括 kube-rbac-proxy)即将不可用,使用它们的项目需要尽快迁移。
标签
常见问题
- operator-sdk 是什么?
- 用于构建 Kubernetes Operator 的 Go 语言 SDK,提供高层 API、项目脚手架与代码生成。 Operator SDK 是一个用于编写 Kubernetes Operator 的框架。Operator 是在 Kubernetes 上管理复杂有状态应用的控制器。直接基于底层 API 编写 Operator 需要大量样板代码和重复逻辑,该 SDK 旨在减少这部分工作。
- operator-sdk 可以免费使用吗?用的什么许可证?
- operator-sdk 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- operator-sdk 还在维护吗?
- 活跃维护中。operator-sdk 最近一次提交是在 2026年10月21日。
- operator-sdk 适合用来做什么?
- 开发自定义 Kubernetes Operator,自动化部署和管理有状态应用。 使用生成的脚手架快速初始化一个基于 Go 的 Operator 项目。 为运行在 Kubernetes 上的服务增加升级、备份等运维自动化。
- operator-sdk 怎么安装和运行?
- 阅读 Operator SDK 官方文档网站 查看开发者指南中的先决条件以确定所需的 Go 版本
- 在哪里获取 operator-sdk?
- 源代码和安装说明在 GitHub 上:https://github.com/operator-framework/operator-sdk
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
用于构建 Kubernetes 控制器与 Operator 的 Go 库,是 Kubebuilder 和 Operator SDK 的底层基础。
一个在 Kubernetes 上部署和管理 Ray 应用的 Operator,通过 RayCluster、RayJob 和 RayService 资源运行工作负载。
一个 Kubernetes Operator,用于部署和管理 K8sGPT,借助 AI 后端诊断集群问题,并可选择自动修复镜像拉取失败。
一套 Kubernetes Operator,可自动化部署 LLM 推理、微调和 RAG 服务到 GPU 节点上。
根据 OpenAPI/Swagger 定义生成 API 客户端 SDK、服务端桩代码和文档的命令行工具。