Kubernetes 源码剖析 — kubelet ImageGC

本文基于 Kubernetes v1.21.2, commit sha 为 092fbfbf53427de67cac1e9fa54aaa09a28371d7 本文针对 kubelet 中的 ImageGC 进行分析,目光回到 createAndInitKubelet 上 cmd/kubelet/app/server.go:1211 func createAndInitKubelet( // .. 省略: »

Kubernetes 源码剖析 — kubelet PLEG

本文代码基于Kubernetes v1.21.2, commit sha 为 092fbfbf53427de67cac1e9fa54aaa09a28371d7 继续上一篇文章,本文对于 pkg/kubelet/kubelet.go:1459 中的 PLEG 进行展开 func (kl *Kubelet) Run(updates <-chan kubetypes. »

Kubernetes 源码剖析 — kubelet 启动流程

本文代码基于Kubernetes v1.21.2, commit sha 为 092fbfbf53427de67cac1e9fa54aaa09a28371d7 Kubernetes 的命令行代码入口在 cmd/kubelet/组件名称.go 的文件中。命令行所使用的框架为 spf13/cobra。如没有特殊情况都是按照 设置随机数种子值 创建 cobra.Command 调用 command.Execute »

如果 Bug 会隐身

今天要来讲一个魔幻的故事。这个故事发生在约两年前,在 Review 别人代码的时候发现了一个神奇的事情,有一个字符我能看到,但是周围的同时不能看到。为了还原这种场景,请看下面的代码: 为什么脚本的输出是 incorrect 呢? 因为这个脚本中有一个神奇的字符[],就是中括号内的那个。你看不到不需要觉得奇怪,这并不是一个类似于皇帝的新衣的故事。为了验证这个字符的存在,可以使用 Hexdump 来校验 $ hexdump -C t.py 00000000 69 »

关于我减重25KG这档事

分享一下本人的减重经历和体会。犹豫再三还是决定放出图 减重的一个核心原则就是:消耗热量大于摄入热量 。我们可以通过运动提升我们的消耗热量,通过控制饮食来减少摄入热量。如果采用控制饮食而不运动的方式,那么一旦恢复以前的饮食状态,那么还是会重新进入摄入热量大于消耗热量的状态 下面会分为几个方面来说一下这半年来我采用的一些做法 饮食篇 营养成分表 减少食量 减少碳水摄入 料理方法 间歇性断食/生酮 增加肉类的摄入 运动篇 户外运动 室内运动 HITT 左旋肉碱 心理篇 卡路里的罪恶感 枯燥乏味 »

Rust: closure with static lifetime bound

近日使用 winit 这个 crate 的时候,遇到了这么一个问题:EventLoop 的 run 方法的参数是一个 closure,并且它具有 static 的 lifetime bound。方法签名如下 // https://docs.rs/winit/0.25.0/src/winit/ »