州长1.20

2020-12-09 19:48:18

我们很高兴宣布Kubernetes 1.20的发布,这是2020年的第三版也是最终版!此版本包含42个增强功能:11个增强功能已逐步升级为稳定版,15个增强功能已转换为Beta版,16个增强功能已进入alpha版。

在先前的扩展发布周期之后,1.20发布周期恢复到其正常的节奏11周。这是一段时间以来功能最密集的版本之一:Kubernetes创新周期仍在上升。此版本具有比稳定增强功能更多的Alpha版本,这表明在云原生生态系统中仍有许多值得探索的地方。

此功能提供了触发卷快照操作的标准方法,并允许用户以可移植的方式在任何Kubernetes环境和受支持的存储提供程序上合并快照操作。

此外,这些Kubernetes快照原语是基本的构建块,可释放为Kubernetes开发高级企业级存储管理功能的能力,包括应用程序或集群级备份解决方案。

请注意,快照支持需要Kubernetes发行商捆绑Snapshot控制器,Snapshot CRD和验证Webhook。支持快照功能的CSI驱动程序也必须部署在群集上。

kubectl alpha调试功能可在1.20中升级到beta版,从而成为kubectl调试。该功能直接从kubectl提供对常见调试工作流的支持。此版本的kubectl支持的故障排除方案包括:

通过创建使用其他容器映像或命令的Pod副本来解决启动时崩溃的工作负载。

通过在调试容器的新副本中或使用临时容器添加带有调试工具的新容器来解决Distroless容器的故障。 (临时容器是默认情况下未启用的Alpha功能。)

通过创建在主机名称空间中运行并可以访问主机文件系统的容器来对节点进行故障排除。请注意,作为新的内置命令,kubectl debug优先于任何名为“ debug”的kubectl插件。您必须重命名受影响的插件。

现在不建议使用kubectl alpha debug调用,并且在以后的发行版中将其删除。更新您的脚本以使用kubectl调试。有关kubectl调试的更多信息,请参见调试运行Pod。

在1.18版本中引入的Kubernetes 1.20现在默认启用了API优先级和公平性(APF)。这使kube-apiserver可以按优先级对传入的请求进行分类。

已重新实现了IPv4 / IPv6双协议栈,以支持基于用户和社区反馈的双协议栈服务。这允许将IPv4和IPv6服务群集IP地址都分配给单个服务,也使服务可以从单个IP堆栈转换为双IP堆栈,反之亦然。

进程ID(pid)是Linux主机上的基本资源。达到任务限制而又不达到任何其他资源限制并导致主机不稳定的问题是微不足道的。

管理员需要一些机制来确保用户Pod不会导致pid耗尽,从而阻止主机守护程序(运行时,kubelet等)运行。此外,确保pid在Pod之间的限制非常重要,以确保它们对节点上其他工作负载的影响有限。默认情况下启用一年后,SIG Node会在两个SupportNodePidsLimit上将PID限制逐步降低到GA (节点到Pod的PID隔离)和SupportPodPidsLimit(限制每个pod的PID的能力)。

用户和集群管理员希望Pod遵守预期的Pod生命周期,包括Pod终止。当前,当节点关闭时,pod不会遵循预期的pod终止生命周期,并且无法正常终止,这可能会导致某些工作负载出现问题。GracefulNodeShutdown功能现在位于Alpha中。 GracefulNodeShutdown使kubelet知道节点系统关闭,从而在系统关闭期间正常终止Pod。

不建议使用Dockershim,即Docker的容器运行时接口(CRI)填充程序。不再支持Docker,并将在以后的版本中删除。 Docker镜像遵循Open Container Initiative(OCI)镜像规范后,Docker生成的镜像将在所有CRI兼容运行时中继续在您的集群中工作.Kubernetes社区撰写了一篇有关弃用的详细博客文章,其中包含专用的FAQ页面。

修正了一个与exec探测超时有关的长期错误,该错误可能影响现有的pod定义。在此修复程序之前,exec探针未考虑字段timeoutSeconds。取而代之的是,探测将无限期地运行,甚至超过其配置的期限,直到返回结果。进行此更改后,如果未指定值,则将应用默认值1秒,并且如果探测花费的时间超过一秒,则现有的容器定义可能不再足够。此修复程序添加了一个称为ExecProbeTimeout的功能门,该功能门使集群操作员可以还原到以前的行为,但是在以后的发行版中,它将被锁定并删除。为了恢复以前的行为,集群运营商应将此功能门设置为false。

您可以在发行说明中查看1.20发行版的完整详细信息。

Kubernetes 1.20可以在GitHub上下载。有一些很棒的资源可用于Kubernetes入门。您可以在Kubernetes主站点上查看一些交互式教程,或者使用Docker容器在同类计算机上运行本地集群。如果您想尝试从头开始构建集群,请查看Kelsey Hightower撰写的Kubernetes困难方法教程。

这个发布是由一群非常敬业的个人使成为可能的,他们在世界上发生的许多事情中作为一个团队聚集在一起。非常感谢发布负责人Jeremy Rickard,以及发布团队中的每个其他人互相支持,并为向社区提供1.20版本而努力工作。

对于我们中的许多人来说,2020年是充满挑战的一年,但是Kubernetes的贡献者在此版本中提供了创纪录的增强功能。这是一项巨大的成就,因此发布负责人希望在今年结束时能有所作为,并向Kubernetes 1.14-Caturnetes致以敬意。猫叫汉弗莱(Humphrey)。

汉弗莱(John Humphrey)是释放铅的猫,有永久性的斑点。在美国,Rad是1990年代相当普遍的语,激光背景也是如此。汉弗莱(Humphrey)在1990年代风格的学校图片中感觉是结束这一年的一种有趣方式。希望汉弗莱(Humphrey)和他的病痛在2020年底为您带来一点喜悦!

苹果正在全球数据中心中运行数千个节点的Kubernetes集群。观看Alena Prokharchyk的KubeCon NA主题演讲,以了解有关其云原生之旅的更多信息。

CNCF K8s DevStats项目汇总了许多与Kubernetes速度和各个子项目相关的有趣数据点。这包括从个人贡献到正在贡献的公司数量的所有内容,并且很好地说明了发展这种生态系统所付出的努力的深度和广度。

在为期11周(9月25日至12月9日)的v1.20发布周期中,我们看到来自26个国家的967家公司和1335位个人(其中44位是Kubernetes的第一笔捐款)的贡献。

KubeCon North America刚刚在三周前结束,这是第二次虚拟活动!现在,所有仍可以跟上需求的人都可以按需使用所有对话!

在6月,Kubernetes社区成立了一个新的工作组,以直接响应全美国发生的“ Black Lives Matter”抗议活动。 WG Naming的目标是尽可能全面地消除Kubernetes项目中有害和不清楚的语言,并以可移植到其他CNCF项目的方式进行。在KubeCon 2020北美会议上就此重要工作及其进行方式进行了精彩的介绍性演讲,而这项工作的最初影响实际上可以在v1.20版本中看到。

先前于今年夏天宣布,Kubernetes安全认证专家(CKS)认证已在Kubecon NA期间发布,可以立即进行调度!遵循CKA和CKAD的模型,CKS是一项基于性能的考试,重点关注以安全为主题的能力和领域。该考试针对当前的CKA持有者,特别是那些希望在保护云工作负载方面完善其基础知识的人(这是我们所有人,对吗?)。

KubeCon + CloudNativeCon Europe 2021将于2021年5月4日至7日举行! 注册将于1月11日开始。您可以在此处找到有关会议的更多信息。 请记住,CFP在太平洋标准时间12月13日(星期日)晚上11:59关闭! 如果您有兴趣为Kubernetes社区做出贡献,那么特殊兴趣小组(SIG)是一个很好的起点。 他们中的许多人可能符合您的兴趣! 如果您想与社区分享某些内容,则可以参加每周一次的社区会议,或使用以下任何一种渠道: