如何解决用于 client-go 的版本化客户端集
我正在阅读一些代码 https://github.com/openshift/router/blob/master/pkg/router/controller/factory/factory.go。
在这个 go 文件中,它引用了 3 个客户端集,我使用了标准的 K8s 客户端集 - k8s.io/client-go/kubernetes,但我不明白为什么许多项目喜欢生成新的客户端集?为什么标准的 K8s 客户端集没有提供足够的 API 或功能?任何人都可以给出想法或示例,为什么某些项目想要生成新的客户端集?有什么用?
kclientset "k8s.io/client-go/kubernetes"
projectclient "github.com/openshift/client-go/project/clientset/versioned/typed/project/v1"
routeclientset "github.com/openshift/client-go/route/clientset/versioned"
解决方法
但我不明白为什么很多项目喜欢生成新的客户端?
projectclient "github.com/openshift/client-go/project/clientset/versioned/typed/project/v1" routeclientset "github.com/openshift/client-go/route/clientset/versioned"
在这里,OpenShift 项目决定通过创建自己的 Custom Resource 来扩展 Kubernetes。创建自定义资源时,您通常还会创建一个 custom controller - 这两个可以使用例如生成kubebuilder 并且为新类型拥有生成的客户端非常方便。这可以在创建自己的自定义资源的许多不同项目中看到。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。