《K8S生态周刊》主要包含一些我接触过的K8S生态相关的每周推荐资讯。欢迎订阅知乎专栏《k8s生态》。TUF正式从CNCF毕业TheUpdateFramework(TUF)本周正式从CNCF毕业。现在TUF的官方Python实现有954颗星,142个分叉,43个贡献者和3525条提交记录。TUF是CNCF第9个正式毕业的项目。如果没记错的话,也是唯一一个没有上千星就正式毕业的项目。但TUF项目本身与其他项目不同,star数并不能说明项目的现状。很多人可能觉得TUF项目的存在感很低,或者没有了解和使用过TUF项目,那么我就稍微介绍一下。TUF项目大约十年前开始,2017年开始托管在CNCF,其主要目标顾名思义是提供一个更新的框架,但更重要的一点是它的安全设计。充分考虑了各个环节可能受到的攻击。在提供更新功能的同时,还可以保护现有程序或验证待更新版本的安全性和可靠性。您可能想问它是如何做到这一点的。其实主要是提供了一套标准规范,在每个环节增加了更多的元数据和相关校验,包括签名信息,文件哈希,元数据签名和过期时间等。至于它的存在,不知道大家有没有使用了与DockerContentTrust(DCT)相关的功能。简单的说,你可以把它看成dockertrust中涉及到的相关函数。其中一些功能是建立在DockerNotary之上的,而DockerNotary使用TUF作为其基础安全框架。(PS:DockerInc也已经将DockerNotary捐赠给CNCF)现在大部分公有云(如IBM、Azure等)提供可信镜像仓库服务时,基本都间接依赖DockerNotary和TUF,这也是TUF的一个方面被广泛使用。除了容器生态,一些语言的包管理器也在探索基于TUF的安全更新,包括Python的pip、Haskell的hack、OCaml的opam。不过相关的扩展内容不是本文的重点,暂时略过。最后,再次恭喜TUF顺利毕业!Linkerdv2.6.1已发布Linkerd本周发布了v2.6.1,这是一个非常小的错误修复版本。这里提到这个小版本主要是为了提高Proxy的稳定性,通过修复Proxy可能停止接收服务发现更新,导致503错误的bug。对这个问题感兴趣的朋友可以参考linkerd2-proxy的更新记录。上游进展Kubernetesv1.17已经发布,目前上游已经进入v1.18的开发阶段。本周,v1.18.0-alpha.1发布,其中有一个非常有用的变化。当kubectldrain运行--dry-run时,可以显示将要被驱逐的pod信息。示例:#kubectlv1.18.0-alpha.1(MoeLove)?bin./kubectl.v1.18drain--dry-run=true10.19.47.253node/10.19.47.253cordoned(dryrun)逐出podinfra/redis-7c647bfd97-fdk2r(dryrun)evictingpodkube-system/coredns-65b546d87d-6jmfp(dryrun)evictingpodkube-system/coredns-65b546d87d-pwqvh(dryrun)node/10.19.47.253drained(dryrun)whilebeforeevictedpod信息在版本中不显示:#kubectlbelowv1.18.0-alpha.1(MoeLove)?bin./kubectl.v1.17drain--dry-run=true10.19.47.253node/10.19.47.253cordoned(dryrun)node/10.19.47.253drained(dryrun)可以通过下方二维码订阅我的文章公众号[MoeLove],在公众号后台回复k8s加入技术圈交流。
