Repolode
operator-framework

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. 1

    阅读 Operator SDK 官方文档网站

  2. 2

    查看开发者指南中的先决条件以确定所需的 Go 版本

使用前须知

  • README 提示 gcr.io/kubebuilder 下的镜像(包括 kube-rbac-proxy)即将不可用,使用它们的项目需要尽快迁移。

标签

#kubernetes#operator#go#controller-runtime#code-generation#scaffolding#sdk

常见问题

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 数据每日更新。

相关项目