10 2021 档案

摘要:前言 之前探讨scheduler的调度流程时,提及过preempt抢占机制,它发生在预选调度失败的时候,当时由于篇幅限制就没有展开细说。 回顾一下抢占流程的主要逻辑在DefaultPreemption.preempt方法,步骤包括: 拿最新版本的pod,刷新lister的缓存 确保抢占者有资格抢占其 阅读全文
posted @ 2021-10-09 16:34 猴健居士 阅读(607) 评论(0) 推荐(0) 编辑
摘要:前言 上一篇说道k8s-apiserver如何启动,本篇则介绍apiserver启动后,接收到客户端请求的处理流程。如下图所示 认证与授权一般系统都会使用到,认证是鉴别访问apiserver的请求方是谁,一般情况下服务端是需要知晓客户端是谁方可接受请求,除了允许匿名访问这种场景,同时认证也为后续的授 阅读全文
posted @ 2021-10-06 09:27 猴健居士 阅读(1983) 评论(0) 推荐(0) 编辑
摘要:前言 apiserver是k8s控制面的一个组件,在众多组件中唯一一个对接etcd,对外暴露http服务的形式为k8s中各种资源提供增删改查等服务。它是RESTful风格,每个资源的URI都会形如 /apis/{apiGroup}/{version}/namsspaces/{ns-name}/{re 阅读全文
posted @ 2021-10-04 15:59 猴健居士 阅读(1970) 评论(0) 推荐(0) 编辑
摘要:前言 当api-server处理完一个pod的创建请求后,此时可以通过kubectl把pod get出来,但是pod的状态是Pending。在这个Pod能运行在节点上之前,它还需要经过scheduler的调度,为这个pod选择合适的节点运行。调度的整理流程如下图所示 本篇阅读源码版本1.19 调度的 阅读全文
posted @ 2021-10-03 09:22 猴健居士 阅读(745) 评论(0) 推荐(0) 编辑
摘要:前言 前文介绍Pod无论是启动时还是关闭时,处理是由kubelet的主循环syncLoop开始执行逻辑,而syncLoop的入参是一条传递变更Pod的通道,显然syncLoop往后的逻辑属于消费者一方,如何发现Pod的变更往通道里面传递变更消息的一方目前还没明朗,故本次来看一下kubelet是如何发 阅读全文
posted @ 2021-10-02 08:53 猴健居士 阅读(924) 评论(0) 推荐(1) 编辑
摘要:上一篇说到kublet如何启动一个pod,本篇讲述如何关闭一个Pod,引用一段来自官方文档介绍pod的生命周期的话 你使用 kubectl 工具手动删除某个特定的 Pod,而该 Pod 的体面终止限期是默认值(30 秒)。 API 服务器中的 Pod 对象被更新,记录涵盖体面终止限期在内 Pod 的 阅读全文
posted @ 2021-10-01 08:07 猴健居士 阅读(1131) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示