Kubernetes容器编排系统的最新版本Kubernetes 1.17引入了以下主要新功能和修订:

  • 在Kubernetes 1.12中以alpha引入的卷快照现已提升为beta。 此功能允许在给定的时间对群集中的卷进行快照。 快照可用于为新卷提供快照中的数据,或将现有卷回滚到较早的快照版本。 卷快照使在集群内执行以前无法实现的详尽的数据版本化或代码版本化操作成为可能。
  • 现在,更多的“树中”(默认情况下包括)存储插件已移至容器存储接口(CSI)基础结构。 这意味着对于Kubernetes核心版本的那些驱动程序的直接依赖性较小。 但是,必须显式更新集群以支持迁移树内存储插件,但是成功的迁移不会对集群产生任何不良影响。
  • 云提供商标签功能最初在Kubernetes 1.2中的Beta版中引入,现已普遍可用。 节点和卷基于Kubernetes集群运行所在的云提供程序进行标记,以此作为向Kubernetes其余部分描述应如何处理这些节点和卷(例如,由调度程序处理)的一种方式。 如果您自己使用的是较早的标签版本,则应将其升级到新的版本,以避免出现问题。

在哪里下载Kubernetes

您可以从其官方GitHub存储库的发行页面下载Kubernetes源代码 。 Kubernetes也可以通过提供Kubernetes发行版的众多 供应商提供的升级过程获得。

相关视频:什么是Kubernetes?

在这段90秒的视频中,您可以从技术的发明者之一Heptio的创始人兼首席技术官Joe Beda了解Kubernetes,这是一种用于自动化容器化应用程序的开源系统。




Kubernetes 1.16的新功能



Kubernetes 1.16于2019年9月发布,包含以下新增功能和修订功能:



  • 自定义资源定义 (CRD)是Kubernetes 1.7中引入的长期推荐的用于扩展Kubernetes功能的机制,现已正式成为一种普遍可用的功能。 CRD已被第三方广泛使用。 随着改用GA,默认情况下现在需要许多可选但推荐的行为,以保持API的稳定。
  • 卷的处理方式已进行了许多更改。 其中最主要的是将容器存储接口(CSI)中的批量调整大小API移至beta。
  • Kubeadm现在具有Alpha支持,可以将Windows Worker节点加入现有群集。 这里的长期目标是使Windows和Linux节点都成为群集中的一等公民,而不是让Windows仅具有部分行为。
  • Windows节点现在可以在alpha中使用CSI插件支持,因此这些系统可以开始使用与Linux节点相同范围的存储插件。
  • 一项新功能Endpoint Slices允许更大程度地扩展群集,并在处理网络地址时具有更大的灵活性。 端点切片现在可作为alpha测试功能使用。
  • 使用Kubernetes 1.16继续处理指标的方式进行了重大改进 。 一些度量标准已被重命名或弃用,以使其与Prometheus更加一致。 该计划是要删除Kubernetes 1.17弃用的所有指标。
  • 最后,Kubernetes 1.16 删除了许多不赞成使用的API版本



Kubernetes 1.15的新功能



2019年6月下旬发布的Kubernetes 1.15提供以下新功能和改进:



  • 自定义资源定义或CRD的更多功能(当前为alpha和beta)。 Kubernetes中的CRD是其可扩展技术的基础,它允许自定义Kubernetes实例,而不会脱离上游Kubernetes标准。 新功能包括能够在版本之间转换CRD(对于本机资源来说早就可用),用于CRD的OpenAPI发布,用于CRD的OpenAPI验证模式中字段的默认值等等。
  • Kubernetes的本机高可用性 (HA)现在处于测试阶段。 为高可用性设置群集仍需要计划和周到的考虑,但长期目标是在没有任何第三方软件的情况下实现高可用性。
  • 已将更多的管理卷的插件迁移为使用容器存储接口(CSI),这是一种管理托管容器存储的一致方式。 卷克隆功能是Alpha中为CSI引入的新功能之一,因此新的永久卷可以基于现有的永久卷。

Kubernetes 1.15的其他更改包括:



  • 证书管理现在可以在到期之前自动轮换证书。
  • 用于执行计划操作的插件的新框架已进入alpha。



Kubernetes 1.14的新功能



  • 现在正式支持Microsoft Windows Server 2019作为运行Kubernetes工作者节点和容器调度的平台。 这意味着整个Kubernetes集群只能在Windows上运行,而不是混合使用Windows和Linux系统。
  • Kubectl的插件机制(默认的Kubernetes命令行工具)现在是稳定的功能,使开发人员可以将自己的Kubectl子命令实现为独立的二进制文件。
  • 永久本地卷现在是稳定的功能。 这使Kubernetes可以将本地连接的存储用于持久卷。 除了提供比使用网络附加存储更好的性能外,它还使站立群集更加容易(并且可能更便宜)。
  • Linux主机的进程ID限制现在是beta版功能。 这样可以防止任何一个Pod占用过多的进程ID,从而导致主机上的资源耗尽。



Kubernetes 1.13的新功能



  • Kubeadm是一种旨在使建立Kubernetes集群变得更加容易的工具,终于可以作为完全受支持的功能使用。 它向管理员介绍了设置生产节点,将其加入集群以及在此过程中应用最佳实践的基础知识。 它还为基础架构编排工具(Puppet,Chef,Salt等)提供了一种自动执行群集设置的方法。
  • 容器存储接口或CSI现在也作为受支持的功能提供。 CSI允许扩展Kubernetes的卷层,因此存储插件可以与Kubernetes一起使用,而不必成为Kubernetes核心代码的一部分。
  • Kubernetes现在使用CoreDNS作为其默认DNS服务器。 CoreDNS可以替代其他DNS服务器,但可以通过插件和Kubernetes功能(例如Prometheus监控指标)集成来与Kubernetes集成。



Kubernetes 1.12的新功能

Kubernetes 1.12于2018年9月下旬发布,使Kubelet TLS引导程序全面可用。 Kubelet TLS引导程序通过API请求TLS客户端证书,从而允许Kubelet或在每个Kubernetes节点上运行的主代理自动加入受TLS保护的群集。 通过自动执行此过程,默认情况下,Kubernetes允许以更高的安全性配置集群。




Kubernetes 1.12中还新增了对Microsoft Azure虚拟机规模集(VMSS)的支持,这是一种设置一组VM的方法,这些VM可按计划自动增加或减少,或满足需求。 Kubernetes的集群自动扩展功能现在可以与VMSS一起使用。

Kubernetes 1.12中的其他新功能:

  • 卷的快照和还原功能(alpha)。
  • 广告连播自动缩放的自定义指标(测试版)。 这允许在扩展Pod时使用自定义状态条件或其他指标-例如,如果需要跟踪特定于Kubernetes特定部署的资源作为应用程序管理策略的一部分。
  • 垂直Pod缩放(beta),它允许Pod的资源限制在其整个生命周期内变化,以更好地管理与处理Pod有关的高成本Pod。 这是Kubernetes的许多愿望清单上的一项长期存在的项目,因为它允许使用策略来处理其行为在当前调度策略下不易管理的Pod。

Kubernetes 1.11的新功能

Kubernetes 1.11于2018年7月上旬发布,它添加了IPVS或IP虚拟服务器,以使用内核技术提供高性能的集群负载平衡,该内核技术比通常用于此类事情的iptables系统要复杂得多。 最终,Kubernetes将使用IPVS作为默认的负载均衡器,但现在是选择加入。

自定义资源定义被标榜为在不破坏其标准的情况下对Kubernetes进行自定义配置更改的方式,现在可以进行版本控制以允许随时间从一组自定义资源到另一组自定义资源的平稳过渡。 定义“状态”和“规模” 子资源的新方法也可以与集群中的监视和高可用性框架集成。




其他主要变化包括:

  • 1.10中引入的CoreDNS现在可以作为群集DNS附加组件使用,并且在kubeadm管理工具中默认使用。
  • 现在可以在活动群集中推出Kubelet配置更改,而无需先关闭群集。
  • 容器存储接口(CSI)现在支持原始块卷,可以与kubelet插件注册系统进行互操作,并且可以更轻松地将机密传递给CSI插件。
  • 存储有很多更改,包括在线调整持久卷的大小,为节点指定最大卷数的功能以及更好的支持以防止使用时删除存储对象。

Kubernetes 1.10的新功能

2018年3月发布的Kubernetes 1.10发行版包含容器存储接口的beta版本( 从Kubernetes 1.9开始为Alpha版 ),该版本促进了一种更轻松的向Kubernetes添加卷插件的方法,以前需要重新编译Kubernetes二进制文件。 Kubectl CLI用于执行Kubernetes中的常见维护和管理任务,现在可以接受二进制插件,这些插件针对第三方服务(例如云提供商和Active Directory) 执行身份验证

现在,“ 非共享存储 ”或将本地存储卷作为永久Kubernetes卷挂载的功能也处于测试阶段。 现在,用于永久卷的API进行了其他检查,以确保不会删除正在使用的永久卷。 Kubernetes中的本机DNS提供程序现在可以与CoreDNS交换, CoreDNS是具有模块化体系结构的CNCF管理的DNS项目,尽管只有在首次建立Kubernetes集群时才能完成交换。

Kubernetes项目现在也正在转向自动化的问题生命周期管理项目,以确保陈旧的问题不会持续太长时间。

Kubernetes 1.9的新功能

Kubernetes 1.9于2017年12月发布。

生产版本的Workloads API

Apps Workloads API在Kubernetes 1.8中提升为Beta版,在Kubernetes 1.9中现已投入生产,它提供了基于工作负载行为定义工作负载的方法,例如需要持久状态的长期运行的应用程序。

Apps Workloads API的版本1为四个API提供了一般可用性:

  • 部署。 描述正在运行的应用程序(包括ReplicaSet)的所需状态的基本方式。
  • 复制集。 通过部署的配置,这可以确保应用程序具有足够的运行容器实例(“副本”)来满足其定义。
  • 守护程序。 可以连续运行的应用程序的部署,而不管可能正在运行什么其他应用程序,例如日志记录或监视解决方案。
  • StatefulSet。 这用于需要持久状态的工作负载,即使容器被杀死并重新启动也是如此。 StatefulSet还为诸如容器的网络标识或容器启动和停止的顺序之类的内容提供持久性。

另一组工作负载API,即Job和CronJob(统称为批处理工作负载API),用于按计划运行然后终止的工作负载。 批处理工作负载API仍处于测试阶段。

Windows Server Beta支持

在Microsoft将对Docker容器的本机支持添加到Windows之后,下一步的逻辑步骤是使其他使用Docker的应用程序(例如Kubernetes)效仿。 Kubernetes 1.9现在暂时支持在Windows Server上使用Kubernetes

要在Windows Server上测试Kubernetes,您需要Windows Server 2016和Docker 1.12。 目前,Kubernetes控制平面只能在Linux上运行。 换句话说,您可以计划容器从Linux控制器在Windows Server上运行,但是不能将Windows Server用作控制器而不是Linux。

容器存储接口(CSI)的第一个Alpha

自一开始以来,Kubernetes的关键功能之一就是从应用程序中抽象资源,包括存储。 不幸的是,容器存储还没有真正的标准。 大多数每个容器解决方案都实现了自己的存储方式,包括Kubernetes。

From: https://www.infoworld.com/article/3229359/whats-new-in-kubernetes.html