前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Kubernetes 1.18特性:Server-side Apply Beta 2

Kubernetes 1.18特性:Server-side Apply Beta 2

作者头像
CNCF
发布2020-04-07 16:09:45
3.9K0
发布2020-04-07 16:09:45
举报
文章被收录于专栏:CNCF

作者:Antoine Pelisse(谷歌)

服务器端应用(Server-side Apply)是什么?

服务器端应用是将“kubectl apply”迁移到apiserver的重要工作。该项目由Apply工作组于2018年启动。

使用kubectl以声明方式应用资源有以下挑战:

  • 需要使用kubectl的go代码,否则他们就必须在shell使用kubectl。
  • kubectl使用的补丁格式Strategic merge-patch是有机增长的,在保持与各种api-server版本的兼容性的同时进行修复是一个挑战。
  • 有些特性很难直接在客户端上实现,例如union。

服务器端应用是一种新的合并算法,以及跟踪字段所有权,运行在Kubernetes api-server上。服务器端应用支持新的特性,比如冲突检测,这样系统就可以知道两个参与者何时试图编辑相同的字段。

它是如何工作的,managedFields是什么?

服务器端应用通过跟踪系统的哪个参与者更改了对象的每个字段来工作。它将所有更新分散到对象,并记录所有已更改的字段以及操作的时间。所有这些信息都存储在对象元数据中的managedFields中。由于对象可以有许多字段,所以这个字段可能非常大。

当有人应用时,我们可以使用存储在managedFields中的信息来报告相关冲突,并帮助合并算法执行正确的操作。

它不是在1.18之前就已经是Beta版了吗?

是的,服务器端应用程序从1.16起就已经是Beta版了,但是它没有跟踪与未应用的对象相关联的字段的所有者。这意味着大多数对象没有存储managedFields元数据,这些对象的冲突无法解决。在Kubernetes 1.18中,所有新对象都将附加managedFields,并提供关于冲突的准确信息。

我如何使用它?

最常用的方法是通过kubectl:kubectl apply --server-side。这可能会显示与其他参与者的冲突,包括客户端应用。当发生这种情况时,可以使用--force-conflicts标志强制冲突,该标志将获取已更改字段的所有权。

当前的限制

目前我们有两个重要的限制,特别是在子资源方面。第一种情况是,如果你应用了一个状态,那么该状态将被忽略。我们仍在尝试获取字段,这可能会导致无效的冲突。另一个是我们没有更新某些子资源(包括scale)上的managedFields,因此你可能看不到关于水平pod自动调度器更改副本数量的信息。

下一步是什么?

我们正在努力改进用kubectl使用服务器端应用程序的体验,并试图使其成为默认设置。作为其中的一部分,我们希望改进从客户端到服务器端的迁移。

我能帮忙吗?

当然!Apply工作小组申请可以在slack #wg-apply上找到,通过邮件列表,以及我们每隔一个星期二在Zoom上9.30PT见面。我们有许多令人兴奋的特性要构建,并且可以使用各种帮助。

我们也想借此机会感谢所有贡献者的辛勤工作,使这个新的测试版成为可能:

  • Daniel Smith
  • Jenny Buckley
  • Joe Betz
  • Julian Modesto
  • Kevin Wiesmüller
  • Maria Ntalla

点击【https://kubernetes.cn/blog/2020/04/01/kubernetes-1.18-feature-server-side-apply-beta-2/】阅读英文原文。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-04-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 CNCF 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档