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

TUF 正式从 CNCF 毕业

本周 The Update Framework (TUF) 正式从 CNCF 毕业,现在 TUF 的官方 Python 实现有 954 个 star ,142 个 fork 以及 43 位贡献者和 3525 次 commit 记录。

TUF 是从 CNCF 正式毕业的第 9 个项目,没记错的话也是至今为止唯一一个 star 数未上千就正式毕业的项目。不过 TUF 项目本身与其他项目不同,star 数也说明不了项目状态。

可能不少人觉得 TUF 项目的存在感很低,或是没有了解或使用过 TUF 项目,我姑且对它做一点介绍。

TUF 项目大概是十年前启动,并于 2017 年开始托管于 CNCF,它的主要目标正如它的名字一般,提供用于更新的框架,但它更重要的点在于它的安全性设计上。

它充分考虑到了各个环节可能出现的攻击,在提供更新功能的同时,也可以很好的保护现有程序或者是验证待更新版本的安全和可靠性。你可能想问它是如何做到这一点的,其实它主要是提供了一套标准规范,并在各个环节中增加了更多的元数据和相关的检查,包括签名信息,文件 hash ,元数据签名和过期时间等。

至于它的存在感嘛,不知道你是否有使用过 Docker Content Trust(DCT) 相关的功能,简单来说你可以当作就是 docker trust 所涉及到的相关功能,这其中的部分功能是构建在 Docker Notary 之上的,而 Docker Notary 则是使用 TUF 作为其基础安全框架的。(PS:Docker Inc 也已经将 Docker Notary 捐献给了 CNCF)

现在多数公有云(比如 IBM,Azure 等)提供可信镜像仓库服务时,基本也都间接的依赖于 Docker Notary 和 TUF 了,这也是 TUF 被广泛使用的方面。 除了容器生态外,一些语言的包管理器也都在探索基于 TUF 实现其安全更新,包括 Python 的 pip, Haskell 的 hackage 以及 OCaml 的 opam 等。

不过相关扩展内容不是本篇的重点,暂且跳过。最后再次恭喜 TUF 顺利毕业!

Linkerd v2.6.1 发布

Linkerd 本周发布了 v2.6.1 版本,这是一个非常小的 bugfix 版本。在这里提到是因为这个小版本主要是改善 Proxy 的稳定性,通过修复了 Proxy 可能停止接收服务发现更新,导致 503 的 bug 。

对此问题感兴趣的朋友可以参考 linkerd2-proxy 的更新记录。

上游进展

Kubernetes v1.17 已经发布了,现在上游也进入了 v1.18 的开发阶段,本周发布了 v1.18.0-alpha.1 , 其中有个很有用的变更。

kubectl drain--dry-run 的时候,可以显示会驱逐掉的 pod 信息了。 示例如下:

# kubectl v1.18.0-alpha.1
(MoeLove) ➜  bin ./kubectl.v1.18  drain --dry-run=true  10.19.47.253 
node/10.19.47.253 cordoned (dry run)
evicting pod infra/redis-7c647bfd97-fdk2r (dry run)
evicting pod kube-system/coredns-65b546d87d-6jmfp (dry run)
evicting pod kube-system/coredns-65b546d87d-pwqvh (dry run)
node/10.19.47.253 drained (dry run)

而之前版本中是没有展示被驱逐 pod 信息的:

# kubectl below v1.18.0-alpha.1
(MoeLove) ➜  bin ./kubectl.v1.17  drain --dry-run=true  10.19.47.253                                   
node/10.19.47.253 cordoned (dry run)
node/10.19.47.253 drained (dry run)

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

TheMoeLove