版本兼容性和支持性

由 Kubebuilder 创建的项目包含一个 Makefile,该文件在项目创建时安装定义的版本工具。主要包含的工具有:

此外,这些项目包含一个 go.mod 文件,用于指定依赖项的版本。Kubebuilder 依赖于 controller-runtime 及其 Go 和 Kubernetes 依赖项。因此,Makefilego.mod 文件中定义的版本是经过测试、支持和推荐的版本。

每个 Kubebuilder 的次版本与特定的 client-go 次版本进行测试。虽然一个 Kubebuilder 次版本 可能 与其他 client-go 次版本或其他工具兼容,但这种兼容性并不被保证、支持或测试。

Kubebuilder 所需的最小 Go 版本是由其依赖项所需的最高最小 Go 版本决定的。通常,这与相应的 k8s.io/* 依赖项所需的最小 Go 版本保持一致。

兼容的 k8s.io/* 版本、client-go 版本和最低 Go 版本可以在每个项目的 go.mod 文件中找到,该文件是为每个 标签发布 划定的。

示例: 对于 4.1.1 版本,最低的 Go 版本兼容性是 1.22。您可以参考在发布标签 v4.1.1 的 testdata 目录中的示例,例如 project-v4go.mod 文件。您还可以通过检查 Makefile 来查看此版本支持和测试的工具版本。

支持的操作系统

目前,Kubebuilder 官方支持 macOS 和 Linux 平台。如果您使用 Windows 操作系统,可能会遇到问题。欢迎对支持 Windows 的贡献。