Kubernetes 1.22发布:新巅峰

网友投稿 737 2022-11-01

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表睿象云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱jiasou666@gmail.com 处理。

Kubernetes 1.22发布:新巅峰

2021年8月4日,星期三

我们很高兴地宣布Kubernetes 1.22的发布,这是2021年的第二个版本,也是倒数第二个版本。

这个版本包括53个增强功能。13项增强功能已经升级到稳定版,24项增强功能进入测试版,16项增强功能进入alpha版。另外,有三个功能已经被废弃。

今年4月,Kubernetes的发布周期正式从每年四次改为三次。这是与该变化相关的第一个较长周期的版本。随着Kubernetes项目的成熟,每个周期的改进数量也在增加。这意味着贡献者社区和发布工程团队要做更多的工作,从一个版本到另一个版本,这也会给终端用户社区带来压力,使他们不得不与包含越来越多功能的版本保持同步。

将发布周期从每年四次改为三次,可以平衡项目的许多方面,包括如何管理贡献和发布,也包括社区计划升级和保持最新的能力。

核心变化

Server-side Apply变为GA版

外部证书提供者现在很稳定

对Kubernetes客户端凭证插件的支持自1.11以来一直处于测试阶段,随着Kubernetes 1.22的发布,现在已经毕业到稳定阶段。GA功能集包括改进对提供交互式登录流程的插件的支持,以及一些错误的修复。有抱负的插件作者可以看一下sample-exec-plugin来开始。

etcd更新至3.5.0

Kubernetes的默认后端存储,etcd,有一个新的版本。3.5.0. 新版本在安全、性能、监控和开发者体验方面都有改进。有大量的错误修复和一些关键的新功能,如迁移到结构化日志和内置的日志旋转。该版本带有一个详细的未来路线图,以实现流量过载的解决方案。你可以在3.5.0版本的公告中阅读完整而详细的变化清单。

内存资源服务质量(Quality of Service,QoS)

早期,Kubernetes使用的是v1 cgroups API。在这种设计下,一个Pod的QoS类只适用于CPU资源(如cpu_shares)。作为一个alpha功能,Kubernetes v1.22现在可以使用cgroups v2 API来控制内存分配和隔离。该功能旨在提高工作负载和节点的可用性,当存在内存资源的竞争时,并提高容器生命周期的可预测性。

节点系统swap支持

关于设置和使用Kubernetes,每个系统管理员或Kubernetes用户都有同样的困扰:禁用交换空间。随着Kubernetes 1.22的发布,alpha支持用交换内存运行节点。这一变化让管理员选择在Linux节点上配置交换,将一部分块存储作为额外的虚拟内存。

Windows增强与功能

为了继续支持不断增长的开发者社区,SIG Windows已经发布了他们的开发环境。这些新工具支持多个CNI供应商,可以在多个平台上运行。还有一种新的方法,即通过编译Windows kubelet和kube-proxy,然后与其他Kubernetes组件的日常构建一起使用,从头开始运行出血性的Windows功能。

CSI对Windows节点的支持在1.22版本中转为GA。在Kubernetes v1.22中,Windows特权容器是一个alpha功能。为了允许在Windows节点上使用CSI存储,CSIProxy使CSI节点插件可以作为非特权Pod部署,使用代理在节点上执行特权存储操作。

seccomp默认profiles配置

kubelet中加入了默认seccomp配置文件的alpha功能,以及一个新的命令行标志和配置。当使用时,这个新功能提供了集群范围内的seccomp默认值,使用RuntimeDefault seccomp配置文件,而不是默认的Unconfined。这增强了Kubernetes部署的默认安全性。安全管理员现在可以睡得更好,因为他们知道工作负载在默认情况下更加安全。要了解该功能的更多信息,请参考官方seccomp教程。

使用kubeadm提升管理节点的安全

一个新的alpha特性允许以非root用户身份运行kubeadm控制平面组件。这是在kubeadm中长期要求的安全措施。要尝试它,你必须启用kubeadm特定的RootlessControlPlane功能门。当你使用这个alpha功能部署集群时,你的控制平面会以较低的权限运行。

对于kubeadm,Kubernetes 1.22也带来了新的v1beta3配置API。这次迭代增加了一些长期要求的功能,并废除了一些现有的功能。现在,v1beta3版本是首选的API版本;v1beta2版本的API也仍然可用,并且尚未被废弃。

主要变更

删除了几个已弃用的beta API

在1.22版本中,一些废弃的测试版API已经被删除,而采用GA版本的相同API。所有现有的对象都可以通过稳定的API进行交互。这种删除包括Ingress、IngressClass、Lease、APIService、ValidatingWebhookConfiguration、MutatingWebhookConfiguration、CustomResourceDefinition、TokenReview、SubjectAccessReview和CertificateSigningRequest等API的beta版本。

临时容器的API变更与改进

用于创建Ephemeral Containers(临时容器)的API在1.22中有所改变。Ephemeral Containers功能是alpha,默认情况下是禁用的,新的API与试图使用旧API的客户端不兼容。

对于稳定的功能,kubectl工具遵循Kubernetes的版本倾斜政策;然而,kubectl v1.21和更早的版本不支持新的短暂容器的API。如果你打算使用kubectl debug来创建短暂的容器,而你的集群正在运行Kubernetes v1.22,你不能用kubectl v1.21或更早的版本来创建。如果你想在混合的集群版本中使用kubectl debug,请将kubectl更新到1.22。

更新至稳定版

绑定服务账户令牌数量CSI 服务账户令牌Windows对CSI插件的支持对于在操作中使用已弃用API的警告机制PodDisruptionBudget驱逐

重要功能更新

引入了一个新的PodSecurity接纳alpha功能,旨在替代PodSecurityPolicy。内存管理器转为测试版启用API服务器追踪的新alpha功能一个新的v1beta3版本的kubeadm配置格式用于PersistentVolumes的通用数据填充器现在有了alpha版本。Kubernetes管理节点现在只使用CronJobs v2控制器所有Kubernetes节点组件(包括kubelet、kube-proxy和容器运行时)都可以作为非root用户运行(alpha功能)。

Logo

在持续的大流行病、自然灾害和永远存在的倦怠阴影中,Kubernetes的1.22版本包括53项增强功能。这使得它成为迄今为止最大的版本。这一成就的取得要归功于辛勤工作、充满激情的发布团队成员和Kubernetes生态系统中了不起的贡献者。发布会的标志提醒我们要不断达到新的里程碑,创造新的记录。这也是献给所有发布团队成员、徒步旅行者和观星者的。

这个标志是由Boris Zotkin设计的。Boris是MathWorks公司的一名Mac/Linux管理员。他喜欢生活中简单的事情,喜欢和他的家人在一起。这个精通技术的人总是愿意接受挑战,并乐于帮助朋友!

关注我们

关注我们,获取最新技术一手动态。

上一篇:HTML5游戏下架之外是否要考虑成本呢?
下一篇:【专家视点】云适配联合巨头拟成立中国企业级HTML5产业联盟
相关文章

 发表评论

暂时没有评论,来抢沙发吧~