随笔分类 - 《k8s-1.13版本源码分析》
所有源码分析文章同步开源到github:
https://farmer-hutao.github.io/k8s-source-code-analysis/
摘要:写在前面:本文已过时,请移步 Daniel Hu's Blog 查看最新文章;欢迎关注公众号:“胡说云原生” 接收新文章更新通知! Custom Controller 之 Informer 概述 架构概览 reflector - List & Watch API Server Reflector 对
阅读全文
摘要:写在前面:本文已过时,请移步 Daniel Hu's Blog 查看最新文章;欢迎关注公众号:“胡说云原生” 接收新文章更新通知! 源码分析系列文章已经开源到github,地址如下: github:https://github.com/farmer-hutao/k8s-source-code-ana
阅读全文
摘要:写在前面:本文已过时,请移步 Daniel Hu's Blog 查看最新文章;欢迎关注公众号:“胡说云原生” 接收新文章更新通知! 源码分析系列文章已经开源到github,地址如下: github:https://github.com/farmer-hutao/k8s-source-code-ana
阅读全文
摘要:写在前面:本文已过时,请移步 Daniel Hu's Blog 查看最新文章;欢迎关注公众号:“胡说云原生” 接收新文章更新通知! 源码分析系列文章已经开源到github,地址如下: github:https://github.com/farmer-hutao/k8s-source-code-ana
阅读全文
摘要:写在前面:本文已过时,请移步 Daniel Hu's Blog 查看最新文章;欢迎关注公众号:“胡说云原生” 接收新文章更新通知! 源码分析系列文章已经开源到github,地址如下: github:https://github.com/farmer-hutao/k8s-source-code-ana
阅读全文
摘要:写在前面:本文已过时,请移步 Daniel Hu's Blog 查看最新文章;欢迎关注公众号:“胡说云原生” 接收新文章更新通知! 源码分析系列文章已经开源到github,地址如下: github:https://github.com/farmer-hutao/k8s-source-code-ana
阅读全文
摘要:写在前面:本文已过时,请移步 Daniel Hu's Blog 查看最新文章;欢迎关注公众号:“胡说云原生” 接收新文章更新通知! 本文大纲 预选流程 predicate的并发 一个node的predicate predicates的顺序 单个predicate执行过程 具体的predicate函数
阅读全文
摘要:写在前面:本文已过时,请移步 Daniel Hu's Blog 查看最新文章;欢迎关注公众号:“胡说云原生” 接收新文章更新通知! 本文原始地址(gitbook格式):https://farmer-hutao.github.io/k8s-source-code-analysis/core/sched
阅读全文
摘要:写在前面:本文已过时,请移步 Daniel Hu's Blog 查看最新文章;欢迎关注公众号:“胡说云原生” 接收新文章更新通知! 本文原始地址(gitbook格式):https://farmer-hutao.github.io/k8s-source-code-analysis/prepare/de
阅读全文
摘要:写在前面:本文已过时,请移步 Daniel Hu's Blog 查看最新文章;欢迎关注公众号:“胡说云原生” 接收新文章更新通知! 本文原始地址(gitbook格式):https://farmer-hutao.github.io/k8s-source-code-analysis/core/sched
阅读全文
摘要:写在前面:本文已过时,请移步 Daniel Hu's Blog 查看最新文章;欢迎关注公众号:“胡说云原生” 接收新文章更新通知! 1. 概述 我们先整体了解一下Scheduler的设计原理,然后再看这些过程是如何用代码实现的。关于调度器的设计在官网有介绍,我下面结合官网给的说明,简化掉不影响理解的
阅读全文
摘要:写在前面:本文已过时,请移步 Daniel Hu's Blog 查看最新文章;欢迎关注公众号:“胡说云原生” 接收新文章更新通知! 源码准备 环境准备 源码下载 源码编译 IDE 1. 环境准备 操作系统:我们使用Linux作为k8s源码分析和调试环境,fedora、centos、ubuntu都行,
阅读全文
摘要:写在前面:本文已过时,请移步 Daniel Hu's Blog 查看最新文章;欢迎关注公众号:“胡说云原生” 接收新文章更新通知! 要干嘛? 猪年新气象,今年开始,kubernetes源码分析系列文章主战场从微信公众号转至github,完全使用Markdown重写,使用gitbook生成web页面,
阅读全文
摘要:一、predicate注册过程 今天我们来聊聊predicate函数是怎么被注册进去的,也就是要执行的一堆predicate是怎么成为“选中的孩子”。 代码位置:pkg/scheduler/factory/plugins.go:111 这个函数注册一个predicate函数,返回predicate名
阅读全文
摘要:(注:从微信公众:CloudGeek复制过来,格式略微错乱,更好阅读体验请移步公众号,二维码在文末) 今天我们来跟一下predicates的整个过程;predicate这个词应该是“断言、断定”的意思,在这里我们姑且翻译为“预选”,虽然不符合这个单词的本意,但是在schedule过程中predica
阅读全文
摘要:scheduler的主要逻辑是predicate和priority,前者回答哪些节点可以运行pod的问题,后者回答哪个节点更合适运行pod的问题。今天我们的任务是:从主函数出发,寻找predicates和priorities的入口! 前面我们提到过Execute()其实是运行了这个Run方法,在cm
阅读全文
摘要:ps:本来应该先发这一篇,再开始讲cobra的,昨天不小心先把 cobra发出去了,今天补上源码概览~ 如上,我们下载好后切换到1.10版本的分支,项目目录结构是这样的(目录部分)。有很多,我们先不纠结每一个目录的作用,看关键的几个先: 1、入口 可以看到我们最熟悉的几个组件都在,每一个目录打开都有
阅读全文
摘要:main函数在哪里? 看到这个go文件时大家是不是有一种找到入口的欣喜,同时有一种难以言表的郁闷,为什么那么短?获取一个command,然后执行一个Execute()就运行了?好像是这么回事,然后点开了Execute()方法: 越往下看越郁闷,咋那么难。。。 这时候看一下我们在哪里,可以发现当前路径
阅读全文
摘要:今天我们开始讲kubernetes的源码! 之前的其他开源项目还没有说完,后续会陆陆续续更新,我们把主线先放到k8s的源码上。 之前我想详细讲解每一行k8s源码,但是越看越发现一个大型开源项目如果拘泥于每一行的逻辑,很容易把战线拉得太长,最后失去兴趣。所以今天我们先聊聊源码该怎么看。 1、目标 我们
阅读全文
摘要:久违啦米娜桑!!! 最近有点忙,一月有余没有更新了,实在对不起大家!!! 上线后看到不少朋友发的私信,感谢大家的赞许与信任,后面我会尽最大的努力按时更新,不断推出更优质的文章!!! 本来计划最后花1讲的篇幅写完groupcache的源码分析的,今天刷了一下发现量还是有点多,可能得分两三讲;不过不会等
阅读全文