go - 什么是 Kubernetes client-go "clientset"?

标签 go kubernetes

在 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/

    相关文章:

    Kubernetes 公开应用程序 - AWX Operator

    kubernetes - 如何使用kubernetes将数据从一个容器cp到另一个容器

    configuration - 更改Kubernetes的默认行为

    go - 从 Java 到 Go 的代码转换

    go - 通过遍历 Go 列表查找项目

    multithreading - Golang中“打开的文件太多”而未打开任何文件

    mongodb - golang上的mongo随机记录

    ssl - 将 SSL 证书添加到入口 Controller 与将其添加到入口资源

    azure - 使用标准 LRS 存储类调整 AKS 中的 PV/PVC 大小后,Artifactory > 监控 > 存储部分仍然显示旧的存储空间。怎么修?

    networking - 在写消息之前接受消息