K8S 生态周报| Docker 开源 Compose 规范

1,557 阅读3分钟

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

Docker 开源 Compose 规范, 助力云原生应用开发

本周 Docker 宣布将 Compose 规范开源,并作为独立组织进行治理。

由于 Compose 可以简单的定义基于多容器的应用程序堆栈的工作方式,并且可以通过一条命令启动应用程序,而不需要手动构建镜像和逐个启动容器,这可以大大节省开发团队的时间。

当前 Compose 已经被数百万开发人员使用,在 GitHub 上有超过 650,000 个 Compose 配置文件。

Docker 也在 GitHub 上创建了一个 awesome-compose 的仓库,其中包含了 Compose 在多种应用场景下的使用示例。

本次开源 Compose 规范,旨在能利用开源社区的力量,并与微软等合作伙伴,共同进行协作创新,为 Compose 规范提供更多活力,并以此帮助建立从桌面到云构建和部署容器应用程序通用开放标准。

另外,Compose 规范计划是捐助给中立的基金会,我个人认为大概率是捐给 CNCF 了(目前没看到正式消息)。扩展后的 Compose 规范必将会大大提升开发者体验。

同时,社区在计划使用 Go 对 docker-compose 工具进行重写(或者是重新实现 Compose 规范),整体而言也是好事儿,值得关注。

详情可查看:www.compose-spec.io/

SMI 正式加入 CNCF

SMI(Service Mesh Interface)于本周正式加入 CNCF ,成为其 sandbox 级别的项目。

我在去年 5 月份的 K8S 生态周报| 2019-05-20~2019-05-26 中曾介绍过微软宣布推出的 SMI,本质是为了能为服务网格提供通用接口,以便能让 Service Mesh 有更加通用的规范 (就像当初 CNI/CRI 那样子)。

经过了将近一年时间的发展,SMI 的社区有了显著的发展,当前社区列出的生态信息如下:

  • Consul Connect*: service segmentation (consul.io/docs/connect)
  • Flagger: progressive delivery operator (flagger.app)
  • Istio*: connect, secure, control, observe (servicemeshinterface/smi-adapter-istio)
  • Linkerd: ultralight service mesh (linkerd.io)
  • Maesh: simpler service mesh (mae.sh)
  • Meshery: the service mesh management plane (layer5.io/meshery)
  • Rio: application deployment engine (rio.io)
  • Service Mesh Hub: unified dashboard (solo.io/products/service-mesh-hub)

我印象中最早跟进 SMI 的大概是 19 年 6 月份 Linkerd 增加了对 SMI 的支持。

不过也可以看到,对于 Istio 而言,是社区提供了一个对 Istio 的适配(这里就不展开了)。

详情可查看:smi-spec.io/blog/smi-jo…

Kubernetes v1.18.1 发布

Kubernetes v1.18.1 发布,带来了一些 bugfix,这里主要就介绍一个关于使用 kubeadm 升级的问题。

#89537 修复了在使用 kubeadm 从 v1.17 升级至 v1.18 时,node 无法加入集群的问题。主要是因为之前在 node 加入集群时,增加了对是否有同名节点存在的检查。而 kubeadm 中漏掉了相应的 RBAC 规则。

修正代码如下:

// Create RBAC rules that makes the bootstrap tokens able to get nodes
if err := nodebootstraptoken.AllowBoostrapTokensToGetNodes(client); err != nil {
    errs = append(errs, err)
}

上游进展

  • #89151 新增了一个 etcd_db_total_size_in_bytes 的 metric ,可用于暴露 etcd 文件大小;
  • #89848 kubectl apply 即使 build 异常,也会应用其他已验证资源。

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

TheMoeLove