K8S|K8S 生态周报| Helm 新版本发布,解决了内存泄漏的问题

「K8S 生态周报」内容主要包含我所接触到的 K8S 生态相关的每周值得推荐的一些信息。欢迎订阅知乎专栏 「k8s生态」。
Trivy v0.22.0 正式发布 Trivy 是一款轻量级的漏洞扫描工具,支持包括容器镜像,文件系统,IaC 配置文件等。在我之前的 『K8s生态周报』文章中已经介绍过多次,此处就不再展开了。我们一起来看看这个版本中有哪些值得关注的变更。
  • 新增了一个 --offline-scan 的选项,在对 pom.xmlJAR 文件进行扫描的时候,可以通过同时指定 --skip-update--offline-scan 参数来避免 Trivy 去发起更新漏洞库的请求。在离线环境或者网络不好的场景下会比较有用;
  • 优化了内存的使用,在之前版本的逻辑中,如果对于大文件也会直接进行读取,有可能会造成 OOM 。本次修正了该问题,加入了一定的缓存。如果你正在使用 Trivy ,我建议你进行更新;
  • 再对 rpm 包扫描的时候, 支持了 NDB 格式 , 对此格式感兴趣的小伙伴可以去看看 rpm 项目的发版说明。
【K8S|K8S 生态周报| Helm 新版本发布,解决了内存泄漏的问题】你可以直接去它的 Release 页面下载最新的二进制,也可以直接使用其容器镜像。
(MoeLove) ? docker pull aquasec/trivy:0.22.0

对于此版本的其他变更,可参考其 ReleaseNote
Helm v3.7.2 发布 Helm 最新一个大版本是 v3.7.0,但如果你去关注这个项目实际的变更,你会发现即使是大版本更新,也没有携带特别值得有价值的内容。反倒是这个小版本中还带来了一些值得注意的内容:
  • 修复了一个 Helm upgrade 时,内存泄漏的问题,感兴趣的小伙伴可以去围观下 https://github.com/helm/helm/...
至于之前版本中的变更,感兴趣的小伙伴可以自行去看看其 ReleaseNote
Rook 发布 v1.8 版本 Rook 是一个开源的,专用于 Kubernetes 平台上存储编排的组件。目前是 CNCF 毕业项目。在之前的 『K8s生态周报』中我也一直都有介绍,这里就不展开了,大家有兴趣的可以看看历史文章。现在我们一起来看它的新版本中有哪些值得关注的内容吧。
首先是一些 Breaking Change:
  • Rook 可以与 Kubernetes v1.16 或更高版本兼容。这主要是由于其使用 CRD 的方式进行实现,而 Kubernetes 在 v1.22 版本中将旧的 API 已经移除,所以 Rook 将它使用的 API version 也已经升级到了 v1。在进 rook 升级操作的时候,如果当前的 Kubernetes 版本较低,则建议先升级 Kubernetes 集群再升级 Rook。
  • 在 v1.8 中对于 Ceph Nautilus 版本的支持已经移除,如果你之前有通过 Rook 部署的 Ceph Nautilus 版本的集群,那么建议先升级到 Octopus 或者 Pacific 版本,以便保证 Rook 可以正常的处理其版本。
  • 现在已经完全使用 CSI 接口进行存储管理了,之前 Rook 支持的 Flex 驱动已经彻底废弃,如果想要进行迁移的小伙伴,可以参考 https://rook.github.io/docs/r...
此外还带来了很多新的功能:
  • 支持使用 HashiCorp Vault 时进行 Kubernetes 身份验证;
  • 为了提供更好的安全性,当前的 Rook operator 和 toolbox 容器都运行在 rook 用户下,而非原先的 root 用户下;
  • Rook 镜像中默认安装了 s5cmd 工具,这是一个可以提供快速 S3 操作的工具,你可以在 https://github.com/peak/s5cmd 找到它。默认提供的 s5cmd 可以方便我们在 toolbox 中快速的验证 S3 gateway 的功能;
  • Rook 当前添加了一个 ceph.rook.io/disaster-protection finalizer 可用于阻止重要资源被意外删除,如果想要删除这些重要资源的话,需要如下步骤:
kubectl -n rook-ceph patch configmap rook-ceph-mon-endpoints --type merge -p '{"metadata":{"finalizers": [null]}}' kubectl -n rook-ceph patch secrets rook-ceph-mon --type merge -p '{"metadata":{"finalizers": [null]}}'

以上就是关于 Rook v1.8 版本中值得关注的内容了,如果对其他变更感兴趣,可以查看其 ReleaseNote
上游进展
  • Completely remove in-tree dockershim from kubelet by dims · #97252 这个 PR 中彻底移除了 kubelet 中 in-tree 的 dockershim,关于这个内容可以参考我之前的文章;
  • Introduce new prune parameter into diff command by ardaguclu · #105164 这个 PR 中为 kubectl diff 增加了一个 --prune 参数,其行为类似于 kubectl apply --prune,会清理掉一些 managedFields 等内容,更容易观察到真正的变更;
  • Enable setting proxyurl in kubeconfig via kubectl config by ardaguclu · #105566 可以通过 kubectl config 设置 proxy-url, 这样会比较方便一些部署在代理之后的集群;
题外话 整体而言,近两周没有特别大的变更,一方面是由于已经到年底了,社区中大多数海外贡献者基本已经休假。另一方面是由于基本上今年的目标已经完成,接下来的迭代重点会放在年后。
近期我会发布一篇内容,基于 2021 年 K8s 生态中值得关注的内容,以及整体的一些技术趋势,进行 2021 年 K8s 生态的总结,以及对 2022 年 K8s 生态发展的预测,敬请期待!
欢迎订阅我的文章公众号【MoeLove】
K8S|K8S 生态周报| Helm 新版本发布,解决了内存泄漏的问题
文章图片

    推荐阅读