K8s源码分析(21)-client go组件之资源操作对象

上一篇文章里,我们主要介绍了 client go 这个基础组件相关的 request 和 result 对象,这两个对象主要用来发送资源操作的请求,以及处理相关的响应。众所周知, kubernetes 中的资源是分 group/version 的,本篇文章里我们主要来介绍对于不同组以及版本的资源操作对象。

资源操作对象层级

kubernetes 资源对象是区分组和版本的,对于不同组和不同版本下的资源有不同的操作对象定义,在源码结构里资源操作对象如下:

  • 对于不同组下资源操作对象

    7becb1edde5db423726dacc4a8674ba5.png

  • 对于组内不同版本下资源操作对象

    c3e334b4d31de54ff2ebbae7f4fd0280.png

  • 资源操作对象的具体定义

    ba7fdcb802cd1af8bc12554de93aafd5.png

资源操作对象的定义

由于kubernetes 资源对象有非常多的组和版本,这里我们就以常见的 apps 组下的 v1 版本中的 deployment 资源为例,介绍该资源的操作对象。其图解和相关源码如下:

f85ba37ff791411310ec1153754e85ca.png

//staging/src/k8s.io/client-go/kubernetes/typed/apps/v1/deployment.go
type DeploymentInterface interface {
  Create(ctx context.Context, deployment *v1.Deployment, opts metav1.CreateOptions) (*v1.Deployment, error)
  Update(ctx context.Context, deployment *v1.Deployment, opts metav1.UpdateOptions) (*v1.Deployment, error)
  UpdateStatus(ctx context.Context, deployment *v1.Deployment, opts metav1.UpdateOptions) (*v1.Deployment, error)
  Delete(ctx context.Context, name string, opts metav1.DeleteOptions) error
  DeleteCollection(ctx context.Context, opts metav1.DeleteOptions, listOpts metav1.ListOptions) error
  Get(ctx context.
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值