CNCF 宣布 Helm 毕业

4 月 30 日,云原生计算基金会(CNCF)宣布,Helm 已经成为继 Kubernetes、Prometheus、Envoy、CoreDNS、containerd、Fluentd、Jaeger、Vitess 和 TUF 后第十个顺利毕业的项目

Helm 是一款软件包管理器,提供一种简单的方法以查找、共享并使用专为 Kubernetes 构建的软件成果。该项目采用一种名为 chart 的打包格式,用以描述一组彼此相关的 Kubernetes 资源文件集合。

发展至今,Helm 项目已经在 AT&T、Bitnami、CERN、Condé Nast、微软以及 VMWare 等企业用于生产环境,并获得来自 1500 多家公司的多达 13000 条贡献。

CNCF CTO/COO Chris Aniszczyk 表示:

由于同 Kubernetes 社区联系紧密,Helm 早在云原生计算基金会成立之初就与其保持良好合作,成为与 Kubernetes 并列的独立项目。随着去年 v3 版本的推出,Helm 项目显著降低了用户在 Kubernetes 中安装并管理软件的准入门槛,得到了目标用户的广泛好评。

Helm 项目于 2015 年由 Deis 开发,随后被微软接管。同年 11 月,微软在 KubeCon 大会上第一次公布了 Helm。2016年,Helm 团队与谷歌、Skippbox 以及 Bitnami 联手开发了 Helm v2,用于定义 Helm chart 创建、安装与管理的具体工作流程。

2018 年 6 月,Helm 正式加入 CNCF 成为孵化项目。Helm Hub 则于 2018 年末启动,成为 Helm chart 的集中存储平台,目前月均下载量高达数亿次。去年下半年,Helm 团队又基于 Helm v2 工作流发布了 Helm v3,新版本进一步调整了基础架构以反映社区变化与发展需求。

目前,Helm 及其下辖子项目共拥有 28 位活跃维护者,分别来自 Blood Orange、IBM、微软、三星 SDS 等 16 家不同组织。该项目在 GitHub 上获得超过 30000 星,月均全球下载量近 200 万次

https://helm.sh/

Kubernetes v1.19 将延期发布

近日,Kubernetes 项目开发组在 SIG 发布会议上进行了激烈讨论,决定将调整 Kubernetes 的发布周期。

延长 Kubernetes v1.15 的支持周期

为配合项目发布周期调整,首先,开发组将延长 Kubernetes v1.15 的支持周期,直到发布 Kubernetes v1.19 的第一个补丁之后。

进一步延长 Kubernetes v1.19 发布周期

今年 3 月 25 日,Kubernetes v1.18 发布,按照以往发布周期,Kubernetes v1.19 理应会在六月底发布。但因为代码冻结、推送文档时间的整体后移,以及新增 RC4 版本,1.19 版本将会在今年第 20 周(8 月 25 日,星期二)发布。

Kubernetes v1.20 将是 2020 年的最后一个新版本

随着 Kubernetes v1.19 周期的延长,Kubernetes v1.20 的工作将在 9 月的某个时候开始。考虑到临近 11月 和 12 月的假期,项目开发组认为把两个新版本的开发工作压缩到这两个月内是不可行的,因此 2020 年 Kubernetes 只有 3 个新版本,v1.20 会在今年年底发布。届时开发组再策划 2021 年的发布时间表。

https://groups.google.com/forum/#!topic/kubernetes-dev/IVpiIOZ4WcM/discussion

谷歌发布最新 Borg 集群追踪资料

从 2011 年第一次发布 Borg 集群追踪资料以来,时隔八年,上周谷歌再次发布 Borg 集群追踪资料,供外界进行研究与分析。

Borg 是一个集群管理系统,也是 Kubernetes 的前身。它能跨多个集群执行成千上万个作业,并通过程序层级的效能隔离,执行控制许可、打包任务以及机器共享等功能,确保资源的高效利用。在谷歌内部,无论是运行在物理硬件还是云上的服务,几乎所有服务的底层都依赖于 Borg。

因此 Borg 对于集群管理系统研究具有极大价值。在 8 年前释出的 Borg 集群追踪资料中,谷歌分享了 29 天中集群的所有作业提交、调度决定和资源使用情况,这份资料被广泛用于集群以及云计算研究,促进了行业的发展。

随着技术发展,如今企业对于集群管理系统的功能需求和 2011 年已不可同日而语。这次谷歌新发布的 2019 年 5 月 Borg 集群追踪资料涵盖 8 个运算集群,还包括每 5 分钟一次的 CPU 使用率直方图,提供 Master 和 Worker 关系信息,比 8 年前的资料集更大。

目前,这些资料已经放在 Google BigQuery 上,有需要的开发者可以前往下载分析。

https://ai.googleblog.com/2020/04/yet-more-google-compute-cluster-trace.html

etcd3 数据不一致 bug 分析

etcd 作为 Kubernetes 集群的元数据存储,是被业界广泛使用的强一致性 KV 存储。上周,腾讯云容器团队在 etcd 中挖掘出一个存在 3 年之久的数据不一致 bug——client 写入后无法在异常节点读取到数据,即数据丢失。

根据调查,导致该问题的直接原因是consistentIndex 在进行权限相关操作时未持久化,从而导致 auth 相关的操作不幂等,造成了数据的不一致。

而造成 auth 模块未持久化 consistentIndex 的一个因素,是因为 consistentIndex 目前是在 mvcc 模块实现的,并未对外暴露持久化接口,只能通过间接的方式来调用,很容易漏掉。另一方面,etcd 的 apply 操作本身是个异步流程,而且失败之后没有打印任何错误日志,很大程度上增加了排障的难度。

该问题从 2016 年引入,所有开启鉴权的 etcd3 集群都会受到影响,在特定场景下,会导致 etcd 集群多个节点之间的数据不一致,并且 etcd 对外表现还可以正常读写,日志无明显报错。下面是具体触发条件:

  • 使用的为 etcd3 集群,并且开启了鉴权;
  • etcd 集群中节点发生重启;
  • 节点重启之前,有 grant-permission 操作(或短时间内对同一个权限操作连续多次增删),且操作之后重启之前无其他数据写入;
  • 通过非重启节点向集群发起写数据请求。

目前发现问题的团队已经提交了一些修复方案,详情请见:https://mp.weixin.qq.com/s/efvq4lgeCNR8R0NL8yvlEg

动手实践:如何在容器中运行游戏?

本文是国外开发者 Misha Brukman 尝试在容器中运行游戏的实践。十几年前,他曾玩过一款点击式益智游戏《机械世界》,最近想看看能否在 Linux 上运行它。

Misha Brukman 在文中尝试使用容器来跑游戏,确保它们能在不安装任何旧的、不安全的依赖项的前提下,获得正确的环境,并与其余系统隔离。最重要的是,他希望能通过完全禁用游戏来检查它是否需要访问网络。

https://misha.brukman.net/blog/2020/04/running-decade-old-games-in-containers/

报告:第一季度云服务支出增长 37%

近日,市场研究机构 Synergy Research Group 发布今年第一季度云服务市场报告。调查显示,全球各大组织在云端基础设施服务上的支出高达 290 亿美元,比去年同期成长 37%,不仅未受疫情影响,增速反而超过预期

报告中的云端基础设施服务涵盖基础设施即服务(IaaS)、平台即服务(PaaS)以及托管私有云。目前,AWS 的市场占有率依然最大,约为 32%,微软以 18% 位居第二,排名第三的是谷歌,占了 8%。

而根据 Amazon、微软与 Alphabet 所公布的第一季财报,AWS 今年第一季度营收 102.19 亿美元,增长 33%;微软并未公布 Azure 的营收规模,但也称它增长了 59%;Google Cloud 的营收为 27.8 亿美元,增长幅度为 52.2%。

Synergy Research 首席分析师 John Dinsdale 表示,尽管疫情重创了全球经济,但对云端基础设施服务市场却带来正面的助益。虽然云供应商也因疫情而出现一些问题,但在这个充满不确定性的时刻,云仍是企业维持正常运行的避风港

原文请点击:https://mp.weixin.qq.com/s/pRi6-JOfoCV7OJDzMrWXUA