在 kubernetes go 客户端中,什么是 clientset
?
它在多个地方定义。
client-go
包裹。 https://github.com/kubernetes/client-go/blob/62b2cb756b8cea8fba00764ff123993eb44dbd48/kubernetes/clientset.go#L120 kubernetes
包裹https://github.com/kubernetes/kubernetes/blob/80e344644e2b6222296f2f03551a8d0273c7cbce/pkg/client/clientset_generated/internalclientset/clientset.go#L64 文档对他们两个都说了同样的话:
Clientset contains the clients for groups. Each group has exactly one version included in a Clientset.
这令人困惑。什么是组?
最佳答案
Kubernetes 中的每种资源类型(Pod、部署、服务等)都是 API group 的成员。 .这些逻辑上“分组”了不同的类型。组的一些例子是
core
extensions
batch
apps
authentication
autoscaling
Groups also contain versions .版本允许开发人员对 API 进行重大更改,并按他们的方式进行管理。组内版本的一些示例
core/v1
extensions/v1beta
apps/v1beta1
batch/v1
, batch/v2alpha1
(注意同一组内的两个版本)authentication/v1
, authentication/v1beta1
autoscaling/v1
, autoscaling/v2alpha1
所以客户文档说它为每个组创建了一个不同的客户端。
关于go - 什么是 Kubernetes client-go "clientset"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48388077/