k8s client-go源码阅读一:概览
文章目录
client-go概述
先来看下官方的描述: Client-go是Kubernetes官方提供的Go语言客户端库,旨在帮助开发者与Kubernetes API交互。它封装了与Kubernetes API服务器通信的底层细节,使开发者能够更加关注业务逻辑的实现,而不用过多关注通信细节。
所以可以用下面的图来描述:
第一版:
推导优化
上面有什么问题呢?
- 事件过多,需要去重。
- 削峰填谷。
第二版:
- 需要反复查询某些对象资源:比如在事件hander中涉及到反查相关对象资源。
- 每次查询都直接请求k8s,导致k8s负载过高。
第三版:
client-go真实组件
最后来看一下client-go的实际的是怎样组成的:
文章作者 zput
上次更新 2019-06-21