Kubernetes 1.19:强化爪子

作者: Kubernetes 1.19发布团队

最终,我们推出了Kubernetes 1.19,这是2020年的第二个版本,并且迄今为止最长的发布周期持续了20周。它包括34个增强功能:10个增强功能已趋于稳定,beta增强了15个,alpha增强了9个。

由于COVID-19,乔治·弗洛伊德(George Floyd)抗议以及我们作为发布团队经历的其他一些全球性事件,因此1.19版本与常规版本完全不同。由于这些事件,我们决定调整时间表,并让SIG,工作组和贡献者有更多的时间来完成工作。额外的时间也使人们可以花时间专注于Kubernetes项目之外的生活,并确保他们的心理健康处于良好状态。

贡献者是Kubernetes的核心,而不是相反。 《 Kubernetes行为准则》要求人们彼此优秀,尽管我们的世界动荡不安,但我们从社区中看到的只是伟大和谦卑。

主要主题

将Kubernetes支持窗口增加到一年

该组织于2019年初进行了一项调查 长期支持(LTS)工作组 表明在当前的9个月支持期内,很大一部分Kubernetes最终用户未能升级。 该调查以及调查的其他答复表明,如果将补丁程序的支持期延长至12-14个月,则30%的用户将能够在支持的版本上保留其部署。无论用户是使用自建版本还是商业发行版本,这似乎都是正确的。因此,扩展将导致超过80%的用户使用受支持的版本,而不是我们现在的50-60%。 年度支持期可为最终用户提供所需的缓冲垫,并且与熟悉的年度计划周期更加协调。 从Kubernetes 1.19版开始,支持窗口将延长至一年。

储存容量追踪

传统上,Kubernetes调度程序基于这样的假设,即集群中任何地方都可以使用附加的持久性存储,并具有无限容量。拓扑约束解决了第一点,但是到目前为止,仍然进行了pod调度,而没有考虑剩余的存储容量可能不足以启动新的pod。 储存容量追踪,一项新的alpha功能,通过为CSI驱动程序添加API以报告存储容量来解决该问题,并在为Pod选择节点时在Kubernetes调度程序中使用该信息。此功能充当支持动态配置本地卷和其他容量受限制的其他卷类型的垫脚石。

通用短暂卷

Kubernetes provides volume plugins whose lifecycle is tied to a pod and can be used as scratch space (e.g. the builtin emptydir volume type) or to load some data in to a pod (e.g. the builtin configmap and secret volume types, or “CSI inline volumes”). 的 new 通用临时卷 Alpha功能允许将任何支持动态配置的现有存储驱动程序用作临时卷,并且该卷的生命周期绑定到Pod。 它可用于提供与根磁盘不同的临时存储,例如永久性内存或该节点上的单独本地磁盘。 支持用于卷配置的所有StorageClass参数。 支持PersistentVolumeClaims支持的所有功能,例如存储容量跟踪,快照和还原以及卷大小调整。

CSI卷运行状况监视

CSI健康状况监控的Alpha版本随Kubernetes 1.19一起发布。此功能使CSI驱动程序可以与Kubernetes共享来自底层存储系统的异常卷状况,以便可以将它们报告为PVC或Pod上的事件。该功能是Kubernetes进行程序检测和解决单个卷健康问题的垫脚石。

升入一般可用性的毕业生

就将Ingress API迁移到GA而言,API本身在Beta中可用的时间已经很长,以至于通过使用和采用(无论是用户还是负载平衡器/入口控制器提供者)达到了事实上的GA状态。不完全替换而放弃它不是可行的方法。显然,它是一个有用的API,并且捕获了一组不平凡的用例。在这一点上,将当前的API声明为社区将支持的V1,以整理其状态,同时使用V2 Ingress API或具有功能超集的完全不同的API似乎更为谨慎。

结构化日志

在v1.19之前,登录Kubernetes控制平面无法保证日志消息和这些日志中对Kubernetes对象的引用具有任何统一的结构。这使得对日志的解析,处理,存储,查询和分析变得困难,并且迫使管理员和开发人员在大多数情况下基于某些正则表达式依赖于即席解决方案。由于这些问题,基于这些日志的任何分析解决方案都难以实现和维护。

新的博客方法

该Kubernetes版本向 博客 library that provide a more structured interface for formatting log messages. Each existing formatted log method (Infof, Errorf) is now matched by a structured method (InfoS, ErrorS). 的 new logging methods accept log messages as a first argument and a list of key-values pairs as a variadic second argument. This approach 所有 ows incremental adoption of structured logging without converting 所有 将Kubernetes一次添加到一个新的API。

Kubelet的客户端TLS证书轮换

kubelet使用私钥和证书向kube-apiserver认证kubelet。证书在首次启动时通过集群外机制提供给kubelet。自Kubernetes v1.8起,群集包含一个(beta)过程,用于获取初始证书/密钥对并在证书到期时对其进行轮换。在Kubernetes v1.19中,它可以稳定下来。

在kubelet启动过程中,将对文件系统进行扫描,以查找由证书管理器管理的现有证书/密钥对。在证书/密钥可用的情况下,它将被加载。如果不是,则kubelet会在其配置文件中检查kubeconfig中的编码证书值或文件引用。如果证书是自举证书,则它将用于生成密钥,创建证书签名请求并向API服务器请求签名的证书。

当到期时,证书管理器负责提供正确的证书,生成新的私钥并请求新的证书。随着kubelet请求证书的签名是其启动顺序的一部分,并且不断地对来自kubelet的证书签名请求进行自动批准,以使群集管理变得可管理。

其他更新

毕业至稳定

主要变化

其他显着特征

发行说明

在我们的网站上查看Kubernetes 1.19发行版的完整详细信息 发行说明.

可用性

Kubernetes 1.19可以从以下位置下载 的GitHub。要开始使用Kubernetes,请查看以下内容 互动教程 或使用Docker容器“节点”运行本地Kubernetes集群 (Docker中的Kubernetes)。您也可以使用以下命令轻松安装1.19 库贝姆.

发布团队

在数百名贡献了技术和非技术内容的个人的努力下,此版本才得以实现。特别感谢 发布团队 由HashiCorp的高级开发倡导者Taylor Dolezal领导。 34位发布团队成员协调了发布的各个方面,从文档到测试,验证和功能完整性。

随着Kubernetes社区的发展,我们的发布过程很好地展示了开源软件开发中的协作。 Kubernetes继续快速地获得新用户。这种增长创造了一个积极的反馈周期,更多的贡献者提交了代码,从而创建了一个更加活跃的生态系统。 Kubernetes已经结束了 49,000个人贡献者 迄今为止,已有超过3,000人的活跃社区。

所有人都启发了这个Kubernetes 1.19版本徽标!这个版本有点像一场马拉松比赛,也证明了当世界处于荒凉的地方时,我们可以团结起来,做令人难以置信的事情。

Kubernetes 1.19发行徽标

之所以选择“强调爪子原住民”作为发布主题,是因为它捕捉了发布团队尽管世界状况良好的积极前景。 1.19徽标中显示的字符代表了我们发行团队中每个人的个性,从emo到peppy,甚至更多!

关于设计师:汉娜贝丝·拉格洛夫(Hannabeth Lagerlof)是位于加利福尼亚州洛杉矶的视觉设计师,她在环境和图形设计领域拥有广泛的背景。汉娜贝斯(Hannabeth)创造艺术和用户体验来激发联系。您可以在Twitter上以@emanate_design的身份找到Hannabeth。

从长远来看

该版本与增强方面也有所不同。传统上,我们在增强功能调用和增强功能冻结之间需要3-4周的时间,在此阶段结束之前,贡献者可以确认某个特定功能是否会成为周期的一部分。这个发行周期是独一无二的,我们有五个星期才达到相同的里程碑。延长的时间使贡献者有更多的时间来计划和决定他们各自功能的毕业。

贡献者实现这些功能的里程碑从通常的5周延长到7周。为贡献者提供了40%的时间来处理其功能,从而减少了疲劳,并为实现工作提供了更多的思考机会。我们还注意到最后一刻的摆弄大大减少了。在此周期中,异常请求的数量也更少-上一个发行周期中有14个例外请求。

用户亮点

  • CNCF授予Zalando(欧洲领先的时尚和生活方式在线平台) 最终用户奖。 Zalando利用了众多CNCF项目,并开源了自己开发的多个项目。

生态系统更新

  • CNCF刚刚结束了其第一个Virtual KubeCon。所有的谈话都是 一经请求 对于任何注册的人,还不算太晚!
  • 认证的Kubernetes安全专家 (CKS)将于11月推出! CKS致力于集群和系统强化,最大程度地减少微服务漏洞和供应链的安全性。
  • CNCF第二期 云原生开发状态,显示了使用容器和无服务器技术的大量云原生开发人员。
  • Kubernetes.dev,一个Kubernetes贡献者侧重的网站已经启动。它将贡献者的文档,资源和项目事件信息带到一个中央位置。

项目速度

Kubernetes DevStats仪表板 阐述了主要公司贡献者的贡献细目,以及令人印象深刻的一组预先配置的报告,涵盖了从单个贡献者到请求生命周期的所有内容。如果您想从Kubernetes和CNCF社区中收集数字,事实和数据,这是最好的起点。

在从4月到8月的这个发行周期中,有382个不同的公司和超过2,464个人为Kubernetes做出了贡献。 查看DevStats 了解有关Kubernetes项目和社区整体速度的更多信息。

即将发布的在线讲座

于2020年9月25日加入Kubernetes 1.19版本团队,以了解此版本的主要功能,包括存储容量跟踪,结构化日志记录,Ingress V1 GA等。在这里注册: //www.cncf.io/webinars/kubernetes-1-19/.

参与其中

参与Kubernetes的最简单方法是加入众多方法之一 特别兴趣小组 (SIG)符合您的兴趣。您有什么想向Kubernetes社区广播的内容吗?在我们的每月分享您的声音 社区会议,并通过下面的渠道。感谢您一直以来的反馈和支持。