2022年3月第一周简报
三月啦,春暖花开啦,我的状态也要尽快好起来的!(虽然还是要不断的吃药吃药。。
生活
每天一个半小时的车程让我属实有点抗不住,不过我也没有荒度!
- 看了群友安利的《千万别抬头》,好看,非常推荐
- 继续和女朋友看 《甄嬛传》,比我想的好看!
- 和公司玩的好的两个同事一起吃了火锅!聊的很开心(不过他俩居然说我是很讨人喜欢的社牛(什么鬼啦!
- 我爸给我了个惊喜,想捐赠遗体。惊讶之余还有点感动(不是一家人不进一个门(我很早之前就签了协议了
- 这周和女朋友吃了超好吃的日式烤肉!不过为啥现在各种店都要喊着奇奇怪怪的口号
- 抽烟没给女朋友报备被抓包,被罚拼一千片的拼图,呜呜呜呜
- 给猫猫种了新的猫草!
- 这周因为老毛病口嗨无度被密友骂了,有这样的朋友挺好。
- 这周我的公益计划,新增了6位捐款者,开心,能带动身边的人!
- 出去逛了逛公园,但是忘了买风筝呜呜呜呜
不过这周发现自己的英语词汇量和阅读能力有点下降。下周准备恢复每日的英语课程
技术
一个标准的工作周(清明还有一个月,呜呜呜),还是一些奇奇怪怪的收获
老规矩,先聊聊工作里印象比较深的
- 半夜 CI 挂了起来修,发现一个很好玩的问题,关于 Docker Inc. 现在在主推一个全新的 Dockerfile 构建工具 buildkit 。首先说说优点,并行化构建,对于大型 Dockerfile 的提速的确很大。不过这周我们踩到了两个问题,一个是在 copy 命令下,如果目标目录有重名文件,老命令的行为是直接覆盖,buildkit 默认会报错(这个我觉得设计上是 make sense 的,但是终归是存在了 broken change )。一个是 buildkit 对于 insecure-registry 默认支持有问题(准确说需要声明 http:// or https:// ),如果构建的时候依赖了不存在的 plain-http registry 里的镜像,那么在拉取的时候会报错(社区这些奇奇怪怪的问题总是这么多)
- 这周踩了驱动的一个坑,在 Linux 5.13 下,realtek R8168 系列的网卡依赖内核默认驱动的时候,一些 UDP 的场景下会出现吞吐问题。Linux 升到 516 以上问题解决。或者手动从官方下载 8.049.02 的驱动,自行编译安装
继续聊聊自己的业余时间:
- 上上周做的 nerdctl 自动分配 HostPort 的 PR824,在经过两轮补测试后,这周算是得到结果了,会随着 v0.18.0 发布
- Kubernetes 的 PR107531 ,和 Reviewer 讨论了一番后,还是按照 Reviewer 的意见来处理。不过补全 corner case 的兼容性代码有点蛋疼,这周花了我两个晚上去设计 corner case 的处理路径。
- 这周有很大一部分精力放在了去推 Linux 514 一个新特性的落地。在 Linux 514 之后,内核 CPU 相关的 CFS 调度新增了一组 burst mode(来自阿里云的工作)。允许用户设定一个值,然后应用在平时空闲期积累一定的 credit,然后在突发性能需求的情况下,可以消耗平时积累的 credit,减少 throttle 的频率,详细介绍可以参见 CFS Bandwidth Control。这一点对于容器以及 K8S Burstable Pod 是个很大的利好。开始看 Intel 的同学提出的 Burst Spec。 后面如果这个 Spec 正式被接收以及进了 runc 的话,我应该会着手将这个特性移植到 containerd 和 nerdctl 中。
- 这周和一个同事聊了下我关于 Burst Mode 进 K8S 的想法,在具体的语义设计上我俩有点分歧2333,不过先等 containerd 进主分支后,我再正式提一个 KEP 吧。改天可以写个文章聊聊我和同事的一些观点碰撞,还挺有意思的
- 这周被人出了一个 Hard 的算法题,leetcode-1808 我现在都还有点没想清楚呜呜呜呜(数学我一生之敌)。
- 这周复习了一下 JVM 调优的相关玩法,给我的 Jetbrains 系 IDE 调整了下参数,切到 zgc 之类的,我和朋友都觉得体验还不错,参见 goland config
- 这周帮一个朋友排查了 K8$ 上 HPA 不生效的问题。然后发现 Root Cause 是他们的 SRE 在写 helm charts 的时候,将 StatefulSet 的 LabelSelector 和 Cronjobs 的 Pod Label 复用了同一组值。emmmmm,大家要吸取教训。一定要正确使用 Label ,不然线上突然出问题不是说说的 (SREの怨念)
阅读方面,这周一方面因为仔细看 BurstMode 的缘故,系统的看了下 cgroupv1/v2 的文档以及一些关键讨论。补了一些之前忽略的细节。以及整理上周看的 《What Serverless Computing Is and Should Become: The Next Phase of Cloud Computing》 的笔记,整理笔记过程中还有些挺有趣的思考(比如 现代 Serverless 一个很重要的发展方向就是多租户的隔离性与安全性。而现在攻击手段也越来越多元化和底层话,比如上上周介绍的 KASPER: Scanning for Generalized Transient Execution Gadgets in the Linux Kernel 一文中提到的幽灵攻击的手法,估计也应该是个切入点)(说回来我在想要不要把我的一些笔记和碎碎念也一起放在博客里2333)
嗯这周差不多这样,下周开始要看书了(
简单总结
一如既往的彻夜难眠,下周又该去复查了。不过生活会好起来的,是吧!
Everything is gonna be OK
Comments