版本兼容性和支持性
由 Kubebuilder 创建的项目包含一个 Makefile
,该文件在项目创建时安装定义的版本工具。主要包含的工具有:
此外,这些项目包含一个 go.mod
文件,用于指定依赖项的版本。Kubebuilder 依赖于 controller-runtime 及其 Go 和 Kubernetes 依赖项。因此,Makefile
和 go.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-v4
的 go.mod 文件。您还可以通过检查 Makefile 来查看此版本支持和测试的工具版本。
支持的操作系统
目前,Kubebuilder 官方支持 macOS 和 Linux 平台。如果您使用 Windows 操作系统,可能会遇到问题。欢迎对支持 Windows 的贡献。