Kubernetes编程—— 如何操作自定义资源

如何操作自定义资源

client-go 为每种 kubernetes 内置资源提供对应的 clientset 和 informer。

那如果我们要监听和操作自定义资源对象,应该如何做呢?

这里我们有两种方式:

    1. 使用 client-go 提供的 dynamicClient 来操作自定义操作资源对象,当然由于 dynamicClient 是基于 RESTClient 实现的,所以我们可以使用 `RESTClient` 来达到同样的目的。
    2. 使用 code-generator 来帮助我们生成我们需要的代码,这样我们就可以使用 client-go 为 kubernetes 内置资源对象提供的方式监听和操作自定义资源了。

code-generator 是 kubernets 官方提供的一组代码生成工具,它主要有两个应用场景:

    1. 为 CRD 编写自定义 controller 时,可以使用它来生成我们需要的 versioned client、informer、lister 以及其他工具方法。
    2. 编写自定义 API Server 时,可以用它来 internal 和 versioned 类型的转换 defaulters、internal 和 versioned 的 clients 和 informers。
posted @ 2023-08-28 14:54  左扬  阅读(78)  评论(0编辑  收藏  举报
levels of contents