sig-kubernetes icon indicating copy to clipboard operation
sig-kubernetes copied to clipboard

云原生社区 Kubernetes SIG

Results 39 sig-kubernetes issues
Sort by recently updated
recently updated
newest added

## 问题描述 在书本 156 页 DeltaFIFO 消费者方法 Pop 的实现中,会将 Delta 中存的 item 对象传入 process 回调函数,由上层消费者进行处理,一个 process 回调函数实现中,它对整个 item 进行了遍历,并通过 distribute 函数将资源对象分发到 SharedInformer,我没法理解这里**为什么使用遍历的方法对整个 Obj 的资源对象进行检查,并且通知对应的事件处理函数**。 ## 相关代码 一个回调函数的实现: ```go func (s...

> Lead:厉辉/yousa,腾讯云工程师,Apache APISIX PMC(https://github.com/Miss-You) IT 技术日新月异,想必每个 IT 人都会有类似的焦虑:我该学习什么?哪些知识学到就是赚到?怎样学习才能最有效提升编程能力? 阅读优秀的代码是提高编程能力万无一失的办法。诚然,提高编程能力的显著方法是写更多代码,但也需要静下心来品味优秀的代码,大侠行走江湖也需要武功秘籍,而当今优秀的开源项目代码便是程序员的武林秘籍。 对于云原生爱好者,阅读 Kubernetes 核心源码是一个非常好的选择。Kubernetes 源码研习社是云原生社区旗下的一个学习小组,由热爱学习、注重个人成长的一帮小伙伴们自由、自愿成立的小组。每个人都非常希望从 Kubernetes 上学到知识,帮助自己实现成长和进步。欢迎加入,一起坚持,一起克服,一起成长。 第一期计划将在本周三/本周六正式启动,在群中的人即可自行报名,将自己的信息登记到[excel表格](https://docs.qq.com/sheet/DR3l5U3lLdE9BYktY?tab=caenkx)中即可参与。 ## 第一期的主题 《Kubernetes 源码剖析》:第五章——Client Go章节 本章主要阐述 client-go 编程式交互哦工具的实现机制,本章节涉及 Kubernetes 开发者常用的多种 Client ,例如: RESTClient、ClientSet、DynamicClient、DiscoveryClient。详细剖析其内部运行机制,例如:Informer机制、DeltaFIFO队列、Indexer索引机制等等。开发者常使用 client-go...

https://github.com/kubernetes/client-go/blob/6c5935290e3335b200f75d874a19be3093e9c36b/rest/request.go#L785 ```go defer func() { const maxBodySlurpSize = 2

[cl-oreilly-kubernetes-operators-ebook-f21452-202001-en_2.pdf](https://github.com/cloudnativeto/sig-k8s-source-code/files/5032228/cl-oreilly-kubernetes-operators-ebook-f21452-202001-en_2.pdf) [Programming Kubernetes.pdf](https://github.com/cloudnativeto/sig-k8s-source-code/files/5032231/Programming.Kubernetes.pdf)

# 例子理解 我们从一段最简单的代码入手,这段代码块主要是监听了namespace,对于有新的namespace添加,就打印namespace的名字,我们看看K8S源码,看看这个黑盒子实际在在K8S发生了什么动作? ```go func main() { // in cluster get config config, err := rest.InClusterConfig() if err != nil { panic(err.Error()) } // cilentset clientset, err := kubernetes.NewForConfig(config) ......

2020年07月23 日,Kubernetes 源码研习社正式成立,并[公告](https://mp.weixin.qq.com/s?__biz=MzI1NTE2NDE2MA==&mid=2649381964&idx=1&sn=520618e7608e4273c36507e9fff210e2&chksm=f224d623c5535f35b64b34a776fb49bd567a0eca1f5578df60226a838ae96e2da001230ab0e2&scene=0&xtrack=1#rd)成员招募。 一夜之间,成员规模就达到了 200 余人,为了更高效的组织该活动,云原生社区计划举行一次研习社 Kickoff,使用 zoom 会议(限额 100 人)+ B 站直播的形式,和大家共同探讨活动的组织形式,征集下大家对该活动的诉求和建议。 更多信息请持续关注该 issue。

Must have: 1. 准备一套环境已经安装好go软件 2. 准备《Kubernetes源码剖析》书籍, 书籍是1.14版本。 3. 准备一套K8S环境,要求版本在1.4或以上 4. 阅读go 代码软件一个,推荐 IDEA

## 分享内容 本人工作(容器云基础架构师)3年来的k8s源码解析,从源码角度出发,学习k8s的原理。 从kube-apiserver kube-controller-manager kube-scheduler kubelet proxy 和 kubectl 这6个组件为主线进行源码级别的学习。 同时还顺便记录一些平时用到和k8s相关的知识,例如etcd, docker, linux等相关知识。 源码地址: https://github.com/zoux86/learning-k8s-source-code ## 分享收获 (1)为什么分享 主要是陆陆续续有同学反馈repo内容确实对他有帮助,有位同学还私信我由此找到了一份满意的工作。 这个过程中获得了一点点成就感,希望也能够帮助到更多的入门小白 ## 备注 本人k8s学习路程如下: (1)第一阶段线了解k8s,是什么,能做什么,架构,核心资源对象,设计理念,发展历程等等 (2)第二阶段开始使用k8s, 自己创建pod, deploy, job等资源。能够基于k8s开发一下组件,比如实现一个controller监听pod的创建删除等。【看山是山】 (3)第三阶段开始阅读源码,了解底层实现。这个过程会对k8s有一个更深的理解。比如创建一个pod的完成历程是什么样的,k8s...