「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 规范),整体而言也是好事儿,值得关注。
详情可查看:http://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 的适配(这里就不展开了)。
详情可查看:https://smi-spec.io/blog/smi-joins-cncf/
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】