0

我读了一些代码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"
4

1 回答 1

0

但我不明白为什么许多项目喜欢生成新的客户群?

projectclient "github.com/openshift/client-go/project/clientset/versioned/typed/project/v1" routeclientset "github.com/openshift/client-go/route/clientset/versioned"

在这里,OpenShift 项目决定通过创建自己的自定义资源来扩展Kubernetes 。在创建自定义资源时,您通常还会创建一个自定义控制器- 这两个可以使用例如kubebuilder生成,并且为新类型生成一个客户端非常方便。这可以在许多创建自己的自定义资源的不同项目中看到。

于 2021-01-19T18:00:16.220 回答