前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >K8S 生态周报| Docker v19.03.10 正式发布

K8S 生态周报| Docker v19.03.10 正式发布

作者头像
Jintao Zhang
发布2020-06-04 16:39:41
5460
发布2020-06-04 16:39:41
举报
文章被收录于专栏:MoeLoveMoeLove

「K8S 生态周报」内容主要包含我所接触到的 K8S 生态相关的每周值得推荐的一些信息。欢迎订阅知乎专栏「k8s 生态」 ( https://zhuanlan.zhihu.com/container )。

1 Node Exporter v1.0.0 正式发布

Prometheus ( https://prometheus.io/ ) 是最早由 SoundCloud 开源的监控告警解决方案。并已经成长为继 Kubernetes 之后,第二个从 CNCF 毕业的项目。伴随着云原生理念的普及和 Kubernetes 等技术的发展, Prometheus 在监控领域也有了长足的发展。

其主要组件包括 Prometheus,Alertmanager,Node Exporter,Blackbox Exporter 和 Pushgateway 等。

Promethues 采取 Pull 的模式,所采集的 metrics 需要由对应的 Exporter 暴露出来。我们最常用的用于收集系统 metrics 的组件便是 Node Exporter 了。

本周,Node Exporter 终于迎来了 v1.0.0 版本,标志着它更加稳定,更加通用。

我在本周专门写了一篇文章来介绍它这个版本中我最关注的特性:为 Prometheus Node Exporter 加上认证 ( https://zhuanlan.zhihu.com/p/144048025 ), 我们可以让监控变得更加安全。

当然这个版本中也包含了众多变更和 bugfix, 这里暂且跳过,有兴趣的小伙伴可直接参阅其 ReleaseNote ( https://github.com/prometheus/node_exporter/releases/tag/v1.0.0 )

2 Docker v19.03.10 发布

Docker 在本周发布了 v19.03.10 版本,距离上个版本 v19.03.9 仅过了两周的时间,如果在使用 Docker v19.03.x 版本的小伙伴,我个人还是建议你更新到此版本。

此版本中最主要的一个修复是网络相关的,具体而言是与内置 DNS (embedded DNS) 有关的问题,在特定场景下,如果你创建了自定义网络,当解析外部域名时,可能会出现解析失败的情况。

这个问题的根因最早是今年 3 月份我在参与 Docker 开发时遇到的,当内置 DNS 服务器域名解析失败时,可能会触发 panic 导致 Docker daemon 异常退出。随后 Sam Whited 在 moby/libnetwork 中快速的对其进行了修正。

代码语言:javascript
复制
-		if err != nil && !resp.Truncated {
+		if err != nil && (resp != nil && !resp.Truncated) {

修改的内容看起来很简单,在异常处理时,增加了 resp != nil 的条件,这确实修正了我当时遇到的情况。

但这个修正却会忽略返回错误但无响应的情况,比如 DNS 服务器异常之类的情况。但由于后续 Docker 中的逻辑处理中,需要依赖于此处的错误处理,所以会错误的认为 DNS 服务器已连接成功,只是没有响应罢了。这也就带来了问题。

所以这次的修正,也还是在这个位置:

代码语言:javascript
复制
-		if err != nil && (resp != nil && !resp.Truncated) {
+		if err != nil && (resp == nil || !resp.Truncated) {

处理了两种情况:

  • 如果返回了错误,并且响应为空;
  • 如果返回了错误,并且和截断的响应无关;

经过这次的修正,那就基本覆盖了目前能考虑到的所有情况了。希望大家能尽早升级版本。

3 trivy 发布 v0.8 版本

在之前的 「K8S 生态周报」中已经介绍过 trivy 工具了,是一款很方便的镜像安全扫描工具。本周它发布了 v0.8 的版本,带来了几个值得关注的变更。

  • 增加了新的子命令 trivy image IMAGE_NAME ,同时废弃了之前的 trivy IMAGE_NAME 的格式;
  • 增加 --format=json 用于以 JSON 形式输出结果,更便于与其他系统进行集成;
  • 通过设置 TRIVY_REGISTRY_TOKEN 环境变量,可设置 registry token 便于直接拉取镜像进行扫描;

可直接访问 Release 页面 ( https://github.com/aquasecurity/trivy/releases/tag/v0.8.0 ) 下载使用新版本。

4 上游进展

  • #90960 ( https://github.com/kubernetes/kubernetes/pull/90960 ) 修正了 kubectl create secret docker-registry --from-file 不可用的问题;
  • #91182 ( https://github.com/kubernetes/kubernetes/pull/91182 ) kubelet 的 --seccomp-profile-root 选项移动到了配置文件中;
  • #91171 ( https://github.com/kubernetes/kubernetes/pull/91171 ) 将 etcd 的镜像换成了基于 distroless 的镜像,之前已经把其他的一些镜像都换掉了,主要考虑的点可能是安全和体积相关的问题吧。
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-06-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 MoeLove 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器镜像服务
容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档