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

containerd v1.6.0 正式发布

containerd v1.6 在本周也正式发布了,这是 containerd 的第 7 个大版本。距离上一个大的正式版 v1.5.0 已经过了将近 9 个月的时间(v1.5.0 是 2021 年 5 月发布的),关于 containerd v1.5.0 的主要变更,可参考我去年写的 K8S 生态周报| containerd v1.5.0-rc.0 发布。我们一起来看看 containerd v1.6.0 中有哪些值得关注的变更吧!

Runtime

  • #5744 在 containerd 的 metrics 接口中增加了 runtime 的 label;

  • #6375 将 runc 的依赖升级到了 v1.1.0 版本;

  • #5871 增加了 shim plugin 的支持,重构了 shim v2 来加载和注册 plugin;

CRI

  • #5619 当前会同时支持 CRI v1 和 v1alpha2 ;

  • #6113 实现了新的 Kubernetes CRI pod sandbox stats API,这其实是为了遵守 Kubernetes 中 CRI 的变更。其根本原因实际上是在 Kubernetes 中希望能够增强 CRI 的能力,减少对 cAdvisor 的依赖。更深层次的则是由于 cAdvisor 仅支持 Linux 容器,和一般的容器运行时,无法支持类似 Kata Containers 这类 VM 运行时,以及不支持 Windows 容器。由此其实我们也可以看出来 Kubernetes & containerd 的一些目标,做的更通用,更标准化;

  • #6111 添加了 sandbox 和 container 延迟的 metrics,以便用户可以更简单的了解 containerd 内部的运行情况;

其他

  • #5778 增加了 Windows 资源限制的支持;

  • #5131 增加了 Windows HostProcess 容器的支持;

  • #5606 在 gRPC 配置中增加了一个 tcp_tls_ca 的配置;

毕竟是个大版本更新,还有很多其他的内容,具体的可参考其 ReleaseNote

Podman v4.0.0 正式发布

距离上一个完整的大版本 v3.0.0 已经过了整整一年了,我们来看看 Podman 这个大版本中比较值得关注的内容吧:

  • podman runpodman create 等命令现在增加了一个 --ip6 的选项用于支持 IPv6;

  • 如果是使用 CNI network 的话,现在可以增加了一个 ipvlan 驱动;

  • 所有删除 container 的命令,现在都支持了 --time 参数来控制超时时间。其实这个选项 Docker 很久之前就已经有了,我通常会加个 -t 1

  • 有一些为了增加 Docker 兼容性的破坏性变更,可以通过在配置文件中增加 compat_api_enforce_docker_hub 来进行控制;

此外,更多的就是一些功能增加和 bugfix 了,具体内容请参考其 ReleaseNote

kube-state-metrics v2.4.0 发布

如果大家用过 kubectl top 来查看 Node/Pod 的资源情况,或者有在用 HPA/VPA 等,应该都会比较熟悉 Kubernetes Metrics Server。而 kube-state-metrics (KSM) 与它的定位以及做法是不一样的,KSM 会在内存中保存 Kubernetes 中各种资源/状态的完整快照,并根据这些数据生成完整的指标。如果你使用 Prometheus Operator/kube-prometheus 来进行 Kubernetes 集群的监控,它会默认把 kube-state-metrics 作为一个组件进行安装。

这个版本中新增了几个功能:

  • #1652 在 Ingress 的指标 kube_ingress_info 中增加了 IngressClass 的支持;

  • #1644 扩展 KSM 来支持自定义资源的 metrics;

  • #1491 将 PodDisruptionBudgetCronJob 资源的 API version 切换到了 v1;

  • #1676 这个 PR 主要是优化 Slice 分配的性能;

不过当前这个版本标记的是预发布,需要注意下。

其他

  • Chaos Mesh 正式进入 CNCF incubator 阶段 算起来 Chaos Mesh 的孵化过程还算是比较顺利的,进度也比较快。恭喜!

  • Kubernetes 项目中正在进行一些移除 dockershim 的后续操作,比如文档更新之类的。如果大家想要体验由 Mirantis 维护的 cri-dockerd ,将 Docker 继续用作 Kubernetes 的容器运行时的话,可以尝试下 minikube。启动时增加 --runtime=docker 即可;

  • CVE-2022-23649 Cosign 中包含了一个 CVE 漏洞。关于 Cosign 我在之前的文章中由介绍过,它是用于去校验镜像的,算作是供应链安全中的一个组件。这个事情说明,做供应链安全的时候,得把自己所用的工具也考虑在内。(思考:用不安全的工具是否可以保证最终的安全性?)


欢迎订阅我的文章公众号【MoeLove】

63796bef69ae975071215a1bd9ce106d.png
TheMoeLove

参考资料

[1]

k8s生态: https://zhuanlan.zhihu.com/container

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐