今天,我们兴奋地向大家宣布,Kubernetes在2021年内的第二个版本、即1.22版本已经正式来临!

新版本包含53项增强功能:其中13项功能已升级至稳定版,24项功能顺利步入beta阶段,16项功能刚刚开始alpha阶段。另有3项功能被彻底弃用。

今年4月,Kubernetes的发布周期已经正式由每年4次调整为每年3次。而1.22版本正是调整之后的首个长周期发布版本。随着Kubernetes的逐渐成熟,每个发布周期中包含的增强功能数量一直在持续增加。这意味着贡献者社区及发布工程团队需要在两个版本之间完成更多开发工作,而新版本中的大量全新功能也会给最终用户社区带来一定的学习压力。

有鉴于此,Kubernetes的发布节奏由一年四次调整为一年三次能够带来更好的均衡效果,包括贡献与版本管理、社区规划升级并为用户提供更舒适的更新上手体验。

版本要点

Server-side Apply迎来GA通用版本

Server-side Apply[1]是一种面向Kubernetes API服务器的全新字段所有权及对象合并算法。Server-side Apply通过声明式配置帮助用户及控制器管理其资源,包括以声明方式创建及/或修改对象、发送明确指定的意图等等。经过数个版本的测试之后,Server-side Apply现已正式进入GA通用版阶段。

外部凭证提供程序迎来稳定版

自1.11版本以来,对Kubernetes客户端凭证插件的支持就一直处于测试阶段。而随着Kubernetes 1.22的推出,这项功能逐步趋于稳定。其中的GA功能集现在包括对交互式登录流程插件提供更好的支持,同时修复了多项bug。感兴趣的插件作者可以参考sample-exec-plugin[2]以了解更多详细信息。

etcd更新至3.5.0

Kubernetes的默认后端存储etcd获得了3.5.0新版本。新版本改进了安全性、性能、监控以及开发者体验,修复了多项bug,同时带来了迁移为结构化日志记录与内置日志轮替等重要新功能。3.5.0版本还提出详尽的后续发展路线图,探索如何更好地解决流量过载问题。感兴趣的朋友可以参考3.5.0发布公告中的完整变更清单。

用于内存资源的Quality of Service(QoS)

最初,Kubernetes使用的是v1 cgroups API。通过这种设计,Pod的QoS类将仅可用于CPU资源(例如cpu_shares)。如今,Kubernetes 1.22版以alpha测试的形式使用cgroups v2 API控制内存分配与隔离,希望在内存资源发生争用时提高工作负载与节点的可用性、改善容器生命周期的可预测性。

节点系统交换支持

每一位系统管理员或Kubernetes用户在设置和使用Kubernetes时,都会不约而同地禁用掉交换空间。随着Kubernetes 1.22版本的发布,新的alpha功能已可支持运行具有交换内存的节点。这项变更使得管理员能够选择在Linux节点上配置交换,并将一部分块存储视为额外的虚拟内存。

Windows增强与功能

SIG Windows继续为不断发展壮大的开发者社区提供支持,并在1.22新版本中发布了自己的开发环境。这些新工具支持多种CNI提供程序并能够在多个平台上顺畅运行。通过编译Windows kubelet与kube-proxy,再配合日常构建的其他Kubernetes组件,新版本为用户带来一种从零开始使用全新Windows功能的新方法。

CSI对Windows节点的支持也在1.22版本中达到GA通用阶段。另外,Kubernetes 1.22迎来了新的alpha功能——Windows特权容器。为了在Windows节点上使用CSI存储,CSIProxy允许我们将CSI节点插件部署为非特权Pod,并使用代理在节点上执行特权存储操作。

seccomp默认配置

Kubelet以alpha功能的形式提供默认seccomp配置功能,同时附带新的命令行标志与配置。在使用时,这项新功能可提供集群范围内的seccomp默认值,并使用RuntimeDefault seccompt配置取代默认情况下的Unconfined,从而大大增强了Kubernetes部署的默认安全性。凭借更出色的默认工作负载安全效果,管理员们终于可以睡个好常见了。若需了解这项功能的更多详细信息,请参阅官方seccomp教程[3]。

使用kubeadm提升控制平面安全

这项新的alpha功能允许我们以非root用户身份运行kubeadm控制平面组件。长久以来,kubeadm一直要求采取这样一种安全措施。要实际体验,你需要在kubeadm中启用特定的RootlessControlPlane feature gate。在使用这项alpha功能部署集群时,你的控制平面将以较低权限运行。

对于kubeadm,Kubernetes 1.22还带来了新的v1beta3配置API。此次迭代带来了多项社区期待已久的功能,同时弃用了部分现有功能。v1beta3将成为目前的首选API版本;但v1beta2 API仍然正常可用,并未在1.22版中被淘汰。

主要变化

删除了几个已弃用的beta API

1.22版本中删除了许多已经弃用的beta API,并发布这些API的GA通用版本。全部现有对象均可通过稳定的API进行交互。此次删除涉及 Ingress,IngressClass,Lease,APIService,ValidatingWebhookConfiguration,MutatingWebhookConfiguration,CustomResourceDefinition,TokenReview,SubjectAccessReview以及 CertificateSigningRequest API的beta版本。

关于完整清单,请参阅已弃用API迁移指南[4]以及博文《1.22版本中的Kubernetes API与功能删除:你需要了解的一切[5]》。

临时容器的API变更与改进

用于创建临时容器的API在1.22版本中也发生了变化。临时容器功能现为alpha版且默认禁用,新的API也不再响应客户端对旧有API的使用请求。

在稳定功能方面,kubectl工具遵循Kubernetes版本倾斜策略,但kubectl v1.21及更早版本无法支持临时容器的新API。如果你打算使用kubectl debug创建临时容器,且你的集群运行有Kubernetes 1.22,则无法使用kubectl v1.21或更早版本完成这项操作。如果你希望将kubectl debug与多个集群版本混合使用,请务必将kubectl更新至1.22。

其他更新

更新至稳定版

  • 限定服务账户令牌数量

  • CSI服务账户令牌

  • Windows对CSI插件的支持

  • 对于在操作中使用已弃用API的警告机制

  • 清退PodDisruptionBudget

重要功能更新

  • 引入新的PodSecurity准入alpha功能,用以替代原有PodSecurityPolicy

  • The Momory Manager进入beta阶段

  • 推出新的alpha功能,用于实现API Server Tracing

  • kubeadm配置格式迎来新的v1beta3版本

  • 用于PersistentVolumes的通用数据填充器已提供alpha版

  • Kubernetes控制平面现可始终使用CronJobs v2控制器

  • 作为alpha功能,所有Kubernetes节点组件(包括kubelet、kube-proxy与容器运行时)都能够以非root用户身份运行

发布说明

请点击此处[6]查看1.22版本的完整发布说明信息。

发布时间

Kubernetes 1.22现已开放下载[7]并正式登陆GitHub[8]。

版本徽标

面对新冠疫情、自然灾害与倦怠情绪的重重挑战,Kubernetes 1.22仍然拿出了53项增强功能,这也使其成为迄今为止更新量最大的Kubernetes版本。这样辉煌的成就,离不开发布团队成员们的辛勤努力、热情奉献以及Kubernetes生态系统中杰出贡献者们的不懈支持。1.22版本发布徽标提醒我们要不断突破新的极限、创造新的纪录。谨以此标,献给每一位发布团队成员、攀登者与前瞻者!

徽标由Boris Zotkin设计。作为MathWorks的Mac/Linux管理员,Boris热爱生活中平淡简单的一切,喜欢与家人共度时光。这里再次感谢这位乐观技术人贡献的精美作品!

相关链接:

  1. https://kubernetes.io/docs/reference/using-api/server-side-apply/

  2. https://github.com/ankeesler/sample-exec-plugin

  3. https://kubernetes.io/docs/tutorials/clusters/seccomp/#enable-the-use-of-runtimedefault-as-the-default-seccomp-profile-for-all-workloads

  4. https://kubernetes.io/docs/reference/using-api/deprecation-guide/#v1-22

  5. https://blog.k8s.io/2021/07/14/upcoming-changes-in-kubernetes-1-22/

  6. https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.22.md

  7. https://kubernetes.io/releases/download/

  8. https://github.com/kubernetes/kubernetes/releases/tag/v1.22.0

原文链接:https://kubernetes.io/blog/2021/08/04/kubernetes-1-22-release-announcement/

Kubernetes 1.22发布:迈向新巅峰相关推荐

  1. k8s 1.22发布:迈向新的巅峰

    今天,我们兴奋地向大家宣布,Kubernetes在2021年内的第二个版本.即1.22版本已经正式来临! 新版本包含53项增强功能:其中13项功能已升级至稳定版,24项功能顺利步入beta阶段,16项 ...

  2. Kubernetes v1.22.0 正式发布,众多 API 和功能被移除

    公众号关注 「奇妙的 Linux 世界」 设为「星标」,每天带你玩转 Linux ! 我们兴奋地向大家宣布,Kubernetes 在 2021 年内的第二个版本.即 1.22 版本已经正式来临! 新版 ...

  3. 阿里回应“拼多多员工淘宝账号被封”;微信脸书合办新冠病毒黑客马拉松;Kubernetes 1.18发布 | 极客头条...

    整理 | 郭芮 头图 | CSDN 下载自视觉中国 快来收听极客头条音频版吧,智能播报由标贝科技提供技术支持. 「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦, ...

  4. Kubernetes 1.25 发布!博云带你玩转新特性

    三个月转瞬即逝,Kubernetes 如约发布了 V1.25 版本,新版本在诸多领域都有增强. Kubernetes 1.25 带来了 40 余项功能增强,其中 13 个功能成为稳定状态:10 个是对 ...

  5. 【要闻】VMware的双重身份曝光、Kubernetes 1.18发布

    作为Kubernetes供应商,你该认识一下VMware的两面性 2020年3月中旬,VMware宣布正式发布与Kubernetes相关的产品" VMware Tanzu".对于不 ...

  6. 【观察】解码“一网统管”:城市治理“新范式”,推动数字城市建设迈向“新高度”...

    众所周知,随着城市化进程加快,大量的人员.物资.技术和信息等要素日益向城市汇聚,城市系统变得越来越复杂,随之而来的社会问题和"城市病"也层出不穷,而传统的治理模式和治理手段越来越难 ...

  7. 永洪Desktop全能力永久免费 国产数据分析工具迈向新阶段

    2021年4月27日 数字探索 触手可及 永洪科技新品发布会在北京成功举办 发布会上,永洪科技面向个人用户带来了一款颠覆行业,人人都可轻松上手使用的桌面智能数据分析工具--Yonghong Deskt ...

  8. 第22章 迈向Spring MVC的旅程

    第22章 迈向Spring MVC的旅程 本章内容 Servlet独行天下的时代 繁盛一时的JSP时代 Servlet与JSP的联盟 数英雄人物,还看今朝 "子曰:温故而知新",如 ...

  9. 人们已经离不开5G了,商用三年半,中国5G发展迈向新征程,产业发展全面提速!

    随着2022年落幕,中国5G建设也迎来了商用三年半的里程节点. 这三年半间,中国5G的部署一直领跑全球.工业和信息化部(以下简称"工信部")发布的<2022年1-10月份通信 ...

最新文章

  1. GitHub开源的10个超棒后台管理面板
  2. javascript高级程序设计第3版——第6章 面向对象的程序设计
  3. 802.11协议之BA/BAR帧
  4. 常用HTML标签元素介绍,常用的HTML标签元素总结简介
  5. 制作启动U盘与定制多系统启动
  6. Linux 29岁,你不知道的29个重大事件
  7. R语言聚类算法之k中心聚类(K-medoids)
  8. java cache组件_组件之Cache篇
  9. kotlin android获取按钮,Kotlin Android按钮
  10. android studio的sha1,[原]Android Studio查询SHA1的方法
  11. Linux与网络服务(零)从零开始聊聊Linux相关概念(科普向)
  12. Android截图指令
  13. 生意参谋和数据银行盘点:品牌+市场+产品
  14. linux统计单拷贝基因家族,为什么所有病毒基因都是单拷贝
  15. Excel 6位数字与MD5对照表 100000-999999
  16. java中gc是什么_深入理解Java GC
  17. 阅读笔记-2022-Enhancing Sequential Recommendation with Graph Contrastive Learning
  18. 输入两个数求之间的平方数
  19. 证明:1/n调和级数为何是发散的
  20. solr mysql 导入命令_Solr 07 - Solr从MySQL数据库中导入数据 (Solr DIH的使用示例)

热门文章

  1. https 证书过期检测
  2. php mysql环境 xp_MySQL_XP环境下安装apache+php+mysql,Apache和mysql的安装较简单,主 - phpStudy...
  3. 微信小程序- 使用git前的初始化
  4. [附源码]java毕业设计学生考试成绩分析系统
  5. 表示学习(Representation Learning) Part1--Pretext Text
  6. NLP 第五周 语言模型,bert(2)
  7. 计算机基地址和偏移地址概念
  8. win7通过esayBCD安装ubuntu14.04
  9. ELK入门与基本概念
  10. 年轻人,如何抗造系列之 - 感恩,树洞及放空