kubernetes之client-go总览
client-go总览[可参考][k8s-client-go-0.21.2]client-go总览client-go总览[可参考][k8s-client-go-0.21.2]client-go总览applyconfigurations包discovery包dynamic包 用于动态生成informer/lister/client等informer包kubernetes包listers包metada
client-go总览可参考
client-go总览
client-go总览
applyconfigurations包
用于构建服务端 Apply requests(类似于kubectl apply 但是kubectl的是客户端)
详情可参考
discovery包
用于发现服务器支持的API 组、版本和资源的方法及服务端支持的swagger api
详情可参考上篇
详情可参考下篇
dynamic包
用于动态生成informer/lister/client等
详情可参考上篇
详情可参考下篇
informers包
用于生成各种gvk对应的informer(注意这里这是针对原生k8s的对象)
详情可参考
kubernetes包
生成原生k8s的对象的client,用于访问kubernetes API(create、update、patch等等)
listers包
从cache.Indexer中获取原生k8s的对象/列表
metadata包
根据metadata信息(包括gvr)获取informer/lister/client
pkg包
用于插件(plugin包)的执行凭证(和apiserver进行tls认证)
pkg包
apis/clientauthentication用于插件(plugin包)的执行凭证(和apiserver进行tls认证),version用于获取系统版本信息(包含git)
plugin包
主要是对接外部插件(azure/gcp/oidc/openstack),获取认证信息(token等)
rest包
主要是提供对接kubernetes rest http(s)相关的基础类/接口,client、config、exec、request等具体实现和构造的基础
restmapper包
获取实现了RESTMapper(对应一个gv下的resources)接口的结构体
scale包
定义获取scale client的结构体,用来get/update/patch scale子资源。scheme包用来定义包括k8s api/extension在内的所有关于scale的type
third_party包
目前是从go library赋值过来的,只是把私有方法改为公共的
tools包
提供给用户使用的包,用来自定义程序
transport包
定义了传输层实体,用于执行request的http(s)请求,读取http conn的stream到response
util包
提供工具类
更多推荐
所有评论(0)