广告

Kubernetes 1.11开箱亮点:定制化资源、pod优先和抢占等更新

  • 浏览(217)
  • 评论(0)
  • 译者:k8s

上游Kubernetes开发工作一直在进行,旨在为社区和企业提供支持,最新的成果是Kubernetes 1.11。

每次发布的Kubernetes,都包含构建可扩展的API的持续努力。这个最新版本为定制化资源定义(CRD)带来了更大的稳定性和增强功能,默认启用了pod优先级和抢占,使用CoreDNS作为集群的DNS插件等。这个版本中包含的额外工作非常令人激动,可以帮助开发人员构建更丰富的Kubernetes原生应用程序,特别是Operator。

感谢社区和发布团队的共同努力。以下是Kubernetes 1.11的几个亮点:

CRD增强功能:使构建Operator变得更容易

CRD是一种扩展机制,可让用户创建和编程Kubernetes对象。Kubernetes 1.11会有两个主要的增强功能:CRD版本控制现在进入beta阶段并支持子资源。这使CRD体验更接近开箱即用的Kubernetes资源所提供的功能集。

版本控制实际上是大多数其他Kubernetes对象现在所支持的内容。这是管理API生命周期的关键部分。过去,CRD用户必须手动转换他们的资源,并在每个版本更改时重新创建它们。通过提供一种通过多版本支持来演进CRD的方法,Operator的作者可以更轻松地迭代和进化自动管理特定应用程序的方式。这种能力也可以消除障碍,使用户更容易开始构建Operator。

在此版本中,CRD规范还包括“scale”和“status”子资源。scale子资源支持让其他系统(如HorizontalPodAutoscaler和PodDisruptionBudget控制器)与你的资源进行交互。另外,像kubectl scale这样的本地CLI命令可以扩展自定义资源。status子资源支持允许Operator的作者分离开——他们可以将资源的规范写入独立于报告其状态的系统组件。编写规范和状态的分离是Kubernetes API的一个中心概念。它为Operator作者提供了更细粒度的访问控制,并有助于提供更可靠的系统。

pod优先和抢占功能进入beta阶段

在Kubernetes控制平面上运行集群关键服务(例如日志代理或SDN)的管理员将会很高兴看到,在Kubernetes 1.11中将pod优先级和抢占功能变成beta。现在,你可以将某个pod的调度优先级设置为高于和低于其他pod—— 这是运行关键任务工作负载的生产集群的一个重要功能。想象一下,想在晚上运行任务,如运行可能需要在资源稀缺的团队中管理的功能。如果能够将相对权重与每个pod相关联,调度程序可以踢出不那么重要的pod,以便在集群资源不足时腾出空间让最重要的pod运行。

自行托管控制平面或在控制平面上运行多个集群关键服务的集群运维人员会从此功能中受益。

有两个开箱即用的系统优先级:“系统节点关键”和“系统集群关键”,它们具有最高的调度优先级。运维人员可以使用这些优先级来允许支持集群操作所需的pod始终调度。在这些优先级不够用的情况下,运维人员可以为其用例定义更多的优先级。

其他一些显著特征

持续进行的CRI(容器运行时接口)工作,改进了日志记录和指标收集。除了可观察性之外,对Windows容器的增强CRI支持使得更接近Windows版本的全面可用性。

CoreDNS是一种轻量级、快速和可插拔的集群DNS模块,可以提供全面的可用性。这将有助于它替代kuberns成为Kubernetes中DNS插件的事实标准。


  • 分享到:
  • icon
  • icon
  • icon
  • icon
箭头