「K8S 生态周报」内容主要包含我所接触到的 K8S 生态相关的每周值得推荐的一些信息。欢迎订阅知乎专栏「k8s生态」。
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
, 这样会比较方便一些部署在代理之后的集群;
题外话
整体而言,近两周没有特别大的变更,一方面是由于已经到年底了,社区中大多数海外贡献者基本已经休假。另一方面是由于基本上今年的目标已经完成,接下来的迭代重点会放在年后。
近期我会发布一篇内容,基于 2021 年 K8s 生态中值得关注的内容,以及整体的一些技术趋势,进行 2021 年 K8s 生态的总结,以及对 2022 年 K8s 生态发展的预测,敬请期待!
欢迎订阅我的文章公众号【MoeLove】