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

 张晋涛   2021-12-28 15:32   2425 人阅读  0 条评论

Trivy v0.22.0 正式发布

Trivy 是一款轻量级的漏洞扫描工具,支持包括容器镜像,文件系统,IaC 配置文件等。在我之前的 『K8s生态周报』文章中已经介绍过多次,此处就不再展开了。我们一起来看看这个版本中有哪些值得关注的变更。

  • 新增了一个 --offline-scan 的选项,在对 pom.xml 和 JAR 文件进行扫描的时候,可以通过同时指定 --skip-update 和 --offline-scan 参数来避免 Trivy 去发起更新漏洞库的请求。在离线环境或者网络不好的场景下会比较有用;
  • 优化了内存的使用,在之前版本的逻辑中,如果对于大文件也会直接进行读取,有可能会造成 OOM 。本次修正了该问题,加入了一定的缓存。如果你正在使用 Trivy ,我建议你进行更新;
  • 再对 rpm 包扫描的时候, 支持了 NDB 格式 , 对此格式感兴趣的小伙伴可以去看看 rpm 项目的发版说明。

你可以直接去它的 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/issues/10439

至于之前版本中的变更,感兴趣的小伙伴可以自行去看看其 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/rook/v1.7/flex-to-csi-migration.html

此外还带来了很多新的功能:

  • 支持使用 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, 这样会比较方便一些部署在代理之后的集群;

题外话

整体而言,近两周没有特别大的变更,一方面是由于已经到年底了,社区中大多数海外贡献者基本已经休假。另一方面是由于基本上今年的目标已经完成,接下来的迭代重点会放在年后。

本文地址:https://dockerworld.cn/?id=215
温馨提示:文章内容系作者个人观点,不代表Docker中文社区对观点赞同或支持。
版权声明:本文为转载文章,来源于 张晋涛 ,版权归原作者所有,欢迎分享本文,转载请保留出处!

 发表评论


表情

还没有留言,还不快点抢沙发?