「K8S 生态周报」内容主要包含我所接触到的 K8S 生态相关的每周值得推荐的一些信息。欢迎订阅知乎专栏「k8s生态」

runc v1.0.0-rc9 发布

不知不觉,runc v1.0.0-rc9 于近日发布了。早先关注过我文章的朋友们应该看到过我从去年开始每次在 runc 新版本发布时都有专门写一篇文章进行介绍。这次版本的定位主要是修复 CVE-2019-16884 所以我也就不再单独写文章介绍了(另一个原因是现在在假期,还是多抽空陪陪家人)

先对 CVE-2019-16884 做个简单的介绍。这是一个中等级别的漏洞,其主要影响是 runc 源码中的 libcontainer/rootfs_linux.go 在文件挂载至 /proc 时,少做了一些检查,可绕过 AppArmor 的限制,所以可能导致被一些恶意镜像所利用。

主要的修复方式是将原先的 checkMountDestination 函数改写为 checkProcMount,并在其中添加了对源文件类型的判断,只允许 procfs 类型的文件挂载至 /proc

此漏洞影响到的范围是 runc 以及一些使用 runc 作为基础组件的容器管理软件。请尽快进行升级。

此版本的地址是:https://github.com/opencontainers/runc/releases/tag/v1.0.0-rc9

Docker v19.03.3-rc1 发布

自从 Docker 修改维护周期后,Docker 对软件的质量要求有了显著提高,每次版本发布前会经历多阶段的测试和回归,确保软件没有什么问题后才会发布正式版。

按现在的进度来看 v19.03.3 应该会在一两周内放出。新版本会将 containerd 升级至最新的 1.2.10 ,并修复了一个在 5.2 版本内核上 overlay2 文件系统挂载时的错误。

关于此版本感兴趣的朋友可以参考 ReleaseNote

上游进展

Kubernetes v1.17 已经进入发布周期,这个版本的发布周期会比较短,现在已经发布了 v1.17.0-alpha 版本,计划是在 12 月 9 日可以最终发布。(想想看,距现在也就两个月的时间,你的集群现在是哪个版本呢?)

另外,在近期将会发布 v1.13.12 版本,这将是 v1.13 分支的最后一个版本,如果还是使用此版本的朋友,请尽快进行升级了。(当然,与它同时发布的也还有 1.16.2,1.15.5 和 1.14.8 如果要升级可以等这几个版本发布后再进行升级,免得还得重复升级)

k8s.io/klog 升级到了 v1.0 #83014

另外一个有趣的事情是 Kubernetes v1.17 现在把 golang 版本更新到了 1.12.10 ,不出意外的话, v1.17 将会一直使用 go 1.12.x 版本,直到下个版本才可能会升级至 go 1.13.x (这里最主要的原因是在 go 1.13.0 发布后,经过大量回归测试后发现, Kubernetes 在 go 1.13.0 上的表现不如 go 1.12.x 而依据 golang 的维护周期,以及 kubernetes 的维护周期来看的话,使用 go 1.12.x 看起来没什么风险,所以可能就会一直保持这个决定吧。

题外话

假期马上就要结束了,大家休息的怎么样呢?


可以通过下面二维码订阅我的文章公众号【MoeLove】,在公众号后台回复 k8s 可加入技术圈交流。

TheMoeLove