摘要: 回顾第一篇文章(https://www.cnblogs.com/00986014w/p/10458231.html),我们讲到RunKubelet方法实现kubelet的运行,而RunKubelet方法核心在于先调用CreateAndInitKubelet方法创建并初始化kubelet,后调用sta 阅读全文
posted @ 2019-05-22 18:22 右威卫大将军 阅读(791) 评论(0) 推荐(0) 编辑
摘要: 这一篇文章我们先从NewMainKubelet开始。 一、NewMainKubelet 方法非常长,只贴出一部分,但是很重要。主要做了以下几件事: (1)为kubelet加载各种配置,比如pod信息源、垃圾回收相关配置、监听的端口等。其中的podConfig引申一下,它是pod的三种信息来源的聚合( 阅读全文
posted @ 2019-05-21 14:33 右威卫大将军 阅读(1042) 评论(0) 推荐(0) 编辑
摘要: 前一篇文章中,我们探索了Informer工作的大致逻辑,提到了添加回调函数部分包含了三块,即:Informer的创建、函数调用的逻辑、以及回调函数本身。前两块已在前文谈到过,下面我们来看看第三块,即回调函数自身的处理逻辑: 一、回调函数 这里仍然以deployment为例。首先还是进入NewDepl 阅读全文
posted @ 2019-03-21 19:17 右威卫大将军 阅读(788) 评论(0) 推荐(0) 编辑
摘要: Kubelet是Kubernetes集群中node节点的核心组件之一,其作用是管理运行在Pod中的容器,使其处于正常运行状态。 Kubelet的启动函数代码位于cmd/kubelet/kubelet.go中,仍是通过cobra注册。 一、NewKubeletCommand 在NewKubeletCo 阅读全文
posted @ 2019-03-04 16:14 右威卫大将军 阅读(1363) 评论(0) 推荐(0) 编辑
摘要: 本篇将着重分析InstallLegacyAPIGroup方法。 首先,判断传入的前缀是否合法。 其次,调用installAPIResources方法。 最后,在/api路径下生成一个WebService,并添加进Container。 进入installAPIResources方法: 前面的逻辑类似于 阅读全文
posted @ 2019-02-25 11:17 右威卫大将军 阅读(888) 评论(0) 推荐(0) 编辑
摘要: API Server是Kubernetes的核心组件之一,其作用是通过RESTFUL的方式,向所有客户端提供一个集群内资源的统一的增改删查的接口,并将资源的状态存储在etcd中。 API Server入口函数的位置在cmd/kube-apiserver/apiserver.go中,也是通过cobra 阅读全文
posted @ 2019-02-01 18:44 右威卫大将军 阅读(1213) 评论(0) 推荐(0) 编辑
摘要: 上一篇文章主要侧重于Scheduler在正式执行调度任务之前的准备工作。下面,我们将分析Scheduler的核心方法之一:scheduleOne,来学习Scheduler的具体执行方式。 一、scheduleOne 执行过程分为以下几步: (1)从队列中取出下一个Pod。 这一步通过调用sched. 阅读全文
posted @ 2019-01-28 19:04 右威卫大将军 阅读(518) 评论(0) 推荐(0) 编辑
摘要: Scheduler是集群中Master节点的重要组件,其功能是根据集群中各Pod的资源需求、亲和性等指标,将Pod合理调度到Kubernetes集群中的各个节点上。 一、入口函数 入口函数与Controller Manager的入口函数结构相同,同样是应用了cobra包,在命令行中注册了kube-s 阅读全文
posted @ 2019-01-24 18:59 右威卫大将军 阅读(742) 评论(0) 推荐(0) 编辑
摘要: 上一篇文章中,我们看到了Controller Manager的基本运行逻辑,但是还有一些问题没有解决,我们将在本篇文章中进行分析。 一、ListAndWatch 首先是Informer。上一篇中写道,启动Informer本质上是调用了controller的reflector的Run方法。下面我们进入 阅读全文
posted @ 2019-01-21 19:28 右威卫大将军 阅读(824) 评论(0) 推荐(0) 编辑
摘要: Controller Manager是Kubernetes的核心组件之一。我们知道,Kubernetes对集群的管理采用的是控制器模式,即针对各种资源运行多个controller(控制器)。控制器的逻辑是运行永不结束的循环,通过apiserver组件时刻获取集群某种资源的状态,并确保资源的当前状态与 阅读全文
posted @ 2019-01-11 19:01 右威卫大将军 阅读(994) 评论(0) 推荐(1) 编辑