kubernetes-sigs/controller-runtime

GitHub: kubernetes-sigs/controller-runtime

Kubernetes controller-runtime 是一套用于构建 Kubernetes 自定义控制器的 Go 库,为 Operator 开发提供底层运行时支撑。

Stars: 2929 | Forks: 1294

[![Go Report Card](https://goreportcard.com/badge/sigs.k8s.io/controller-runtime)](https://goreportcard.com/report/sigs.k8s.io/controller-runtime) [![godoc](https://pkg.go.dev/badge/sigs.k8s.io/controller-runtime)](https://pkg.go.dev/sigs.k8s.io/controller-runtime) # Kubernetes controller-runtime 项目 Kubernetes controller-runtime 项目是一组用于构建 Controllers 的 go 库。它被 [Kubebuilder](https://book.kubebuilder.io/) 和 [Operator SDK](https://github.com/operator-framework/operator-sdk) 所使用。对于新项目来说,这两者都是很好的起点。请参阅 [Kubebuilder 快速入门](https://book.kubebuilder.io/quick-start.html) 了解其使用方法。 文档: - [Package 概述](https://pkg.go.dev/sigs.k8s.io/controller-runtime/pkg) - [使用 builder 的基本 controller](https://pkg.go.dev/sigs.k8s.io/controller-runtime/pkg/builder#example-Builder) - [创建 manager](https://pkg.go.dev/sigs.k8s.io/controller-runtime/pkg/manager#example-New) - [创建 controller](https://pkg.go.dev/sigs.k8s.io/controller-runtime/pkg/controller#example-New) - [示例](https://github.com/kubernetes-sigs/controller-runtime/blob/main/examples) - [设计](https://github.com/kubernetes-sigs/controller-runtime/blob/main/designs) # 版本控制、维护和兼容性 完整文档可在 [VERSIONING.md](VERSIONING.md) 中找到,长话短说 (TL;DR): 用户: - 我们坚持使用 0 的主版本号 - 我们为每个 Kubernetes 次版本发布一个次版本,并允许在次版本之间进行破坏性变更 - 我们会根据需要发布补丁版本,并且不允许在其中包含破坏性变更 - 所有代码 PR 必须标记为 :bug:(补丁修复)、:sparkles:(向后兼容的功能)或 :warning:(破坏性变更) - 破坏性变更将进入下一个主版本,其他变更将进入近乎即时的补丁或次版本中 - 为了使用一个能提示正确信息的快捷 PR 模板,请使用以下 PR 模板之一: * [破坏性变更/功能](/.github/PULL_REQUEST_TEMPLATE/breaking_change.md) * [向后兼容的功能](/.github/PULL_REQUEST_TEMPLATE/compat_feature.md) * [Bug 修复](/.github/PULL_REQUEST_TEMPLATE/bug_fix.md) * [文档变更](/.github/PULL_REQUEST_TEMPLATE/docs.md) * [测试/构建/其他变更](/.github/PULL_REQUEST_TEMPLATE/other.md) ## 兼容性 controller-runtime 的每个次版本都是针对特定次版本的 client-go 进行测试的。某个 controller-runtime 次版本*可能*与其他 client-go 次版本兼容,但这纯属偶然,既不受支持也未经过测试。通常,我们会为 client-go 和其他 k8s.io/* 依赖项的每个次版本创建一个 controller-runtime 次版本。 controller-runtime 的最低 Go 版本是我们 Go 依赖项中最高的最低 Go 版本。通常,这将与相应的 k8s.io/* 依赖项的最低 Go 版本一致。 兼容的 k8s.io/*、client-go 和最低 Go 版本可以在我们的 [go.mod](go.mod) 文件中查阅。 | | k8s.io/*, client-go | 最低 Go 版本 | |----------|:-------------------:|:------------------:| | CR v0.24 | v0.36 | 1.26 | | CR v0.23 | v0.35 | 1.25 | | CR v0.22 | v0.34 | 1.24 | | CR v0.21 | v0.33 | 1.24 | | CR v0.20 | v0.32 | 1.23 | | CR v0.19 | v0.31 | 1.22 | | CR v0.18 | v0.30 | 1.22 | | CR v0.17 | v0.29 | 1.21 | | CR v0.16 | v0.28 | 1.20 | | CR v0.15 | v0.27 | 1.20 | ## 常见问题解答 参见 [FAQ.md](FAQ.md) ## 行为准则
标签:controller-runtime, EVTX分析, Go语言, Operator, 子域名突变, 开发框架, 日志审计, 程序破解