sig-kubernetes
sig-kubernetes copied to clipboard
【募集】募集《Kubernetes 源码剖析》建议
作者正在编写第二版Kubernetes源码剖析,也希望能够收到各位的建议
我先提一点,希望第二版增加kube-proxy、controller manager剖析
希望增加kubelet、CNI、CSI相关的剖析
希望增加
- 关于kubectl自定义插件开发的内容
- 面向CSI,CNI,CRI接口的功能开发的内容
如果可以的话 希望有一部分operator的内容 应用案例也可以
@strive-after operator应用案例可查看awesome-operators项目
第五章节比较难读,可能缺少一些前置知识理解
是否可以直接建立一个仓库,将书中的例子都放进去(或者有我没有找到😂)
第5.2章说有4种client: ClientSet, DynamicClient, DiscoveryClient和RESTClient。但实际上好像还有一个ScaleClient。 我网上查了半天资料也很少,似乎找不到多少资料
`func NewForConfig(cfg *restclient.Config, mapper PreferredResourceMapper, resolver dynamic.APIPathResolverFunc, scaleKindResolver ScaleKindResolver) (ScalesGetter, error) { cfg.GroupVersion = &schema.GroupVersion{}
cfg.NegotiatedSerializer = serializer.DirectCodecFactory{
CodecFactory: codecs,
}
if len(cfg.UserAgent) == 0 {
cfg.UserAgent = restclient.DefaultKubernetesUserAgent()
}
client, err := restclient.RESTClientFor(cfg)
if err != nil {
return nil, err
}
return New(client, mapper, resolver, scaleKindResolver), nil
} ` 但看这段代码,明显也是封装了RestClient,所以肯定也是一种client。不知道为啥没有用的。
而且看源码这儿,
好像也的确没有地方使用它,是新增的吗?后续模块有新的进展吗?
第七章 apiserver,感觉前面大篇幅是介绍基础知识;后面大篇幅是表格化的配置、参数信息,是不是可以说些重点的原理,减少配置、参数的内容。 第五章 client-go,感觉可以介绍一下 resync 的目的,大家看代码不仅是看实现,更重要的是理解背后的原理。作者作为这方面的资深人士,也可以分享一些自己的心得体会,不局限在仅仅介绍代码结构。