Kubernetes 1.12新特性解析

  Seves

原文链接:Kubernetes 1.12新特性解析

今天,我们很高兴地推出Kubernetes 1.12版本,这也是我们今年以来发布的第三个版本!

此次发布继续关注内部改进与功能完善,旨在进一步提升与Kubernetes对接时的稳定性。这一最新版本亦在安全性与Azure等关键功能上做出增强。另外,最新版本还为两项备受期待功能的通用版本——分别为Kubelet TLS Bootstrap与Azure虚拟机规模集(简称VMSS)——提供支持。

这些新特性,意味着新版本将带来更强大的安全性、可用性、弹性以及易用性,同时亦可帮助用户更快将生产应用推向市场。最后,此版本也再次表明Kubernetes的开发者团队正日趋成熟并不断壮大。

下面来看此版本中的几大主要新特性:

Kubelet TLS Bootstrap通用版本正式亮相

我们很高兴地公布Kubelet TLS Bootstrap的通用版本(简称GA)。在Kubernetes 1.4当中,我们曾引入一个API,用于从集群级证书颁发机构(简称CA)处进行证书申请。此API的初衷在于为kubelet提供TLS客户端证书配置。通过这项功能,kubelet将能够自行引导至TLS安全集群,更可以自动实现签名证书的供应与分发。

之前,在首次运行kubelet时,用户必须在集群启动期间立足带外进程为其提供客户端凭证。这部分工作需要由提供这些凭证的操作人员完成。很明显,此类任务对于手动执行而言过为繁重,且很难轻松实现自动化,因此不少操作人员倾向于为全部kubelet部署一套具有单一凭证及单一身份的集群。但在这样的设置之下,节点授权器(Node Authorizer)与节点限制准入控制器(NodeRestriction admission controller)等节点锁定功能将无法部署。

为了缓解这种情况,SIG Auth为kubelet引入了一种新的私钥与CSR生成方法,可将其提交至集群级证书签名流程当中。目前的v1(通用版本)标识代表着其已经拥有生产级别的稳定性与就绪水平,且具有长期向下兼容性保证。

除此之外,kubelet服务器证书引导程序与轮换机制也正朝着beta测试版迈进。目前,在kubelet首次启动时,其会生成一个自签名证书/密钥对,用于接收传入的TLS连接。此项功能的具体流程为:以本地方式生成一个密钥,而后面向集群API服务器发送一条证书签名请求以获取由集群root证书颁发机构签名的关联证书。此外,当证书即将过期时,其还会利用相同的机制申请经过更新的证书。

对Azure虚拟机规模集(简称VMSS)以及Cluster-Autoscaler的支持现已稳定

Azure虚拟机规模集(简称VMSS)允许用户根据需求或设置的计划创建并管理可自动增加或减少的同类虚拟机资源池。通过这种方式,您将能够轻松对多套虚拟机进行管理、扩展以及负载均衡,从而提供更高的可用性与应用程序弹性,最终支撑起以Kubernetes工作负载形式运行的大规模应用程序。

凭借这一新的稳定功能,Kubernetes现已支持利用Azure VMSS扩展容器化应用程序,包括将其与cluster-autoscaler相集成以根据相同条件自动调整Kubernetes集群的规模。

其它值得关注的功能更新

RuntimeClass 是一种新的集群范围资源,能够将容器运行时属性在控制层中进行表达。目前,这项功能正处于alpha测试阶段。

面向Kubernetes与CSI的快照/恢复功能目前也处于alpha测试阶段。其负责提供标准化API设计(CRD),并为CSI分卷驱动程序提供PV快照/恢复支持。

拓扑感知动态配置目前处于beta测试阶段,其使得存储资源能够感知到自身所处位置。此外,其对AWS EBS以及GCE PD的支持功能也在beta测试当中。

可配置Pod进程命名空间共享正逐步进入beta测试阶段,意味着用户能够在Pod之内配置容器,并通过在PodSpec中设置选项以共享同一通用PID命名空间。

按条件taint节点目前处于beta测试阶段,意味着用户能够利用taint来表达阻止调度的节点条件。

Horizontal Pod Autoscaler中的任意/自定义指标转向第二轮beta测试,用以检验其它功能增强效果。此次重新设计的Horizontal Pod Autoscaler功能包括对自定义指标及状态条件的支持能力。

Horizontal Pod Autoscaler的规模调整提速功能亦逐步转向beta测试阶段。

Pod垂直伸缩功能目前处于beta测试阶段,意味着用户可以在Pod的生命周期之内改变其中的资源限制条件。更具体地讲,这项功能对于pet(即撤销及重建成本极高的Pod)管理极具实际意义。

通过KMS实现的静态加密目前处于beta测试阶段。其添加了更多加密提供程序,包括Google Cloud KMS、Azure Key Vault、AWS KMS以及Hashicorp Vault等,能够对存储在etcd中的数据进行加密。


推出时间

Kubernetes 1.12目前已经可在GitHub上进行下载[1]。要开始使用Kubernetes,建议大家参阅相关交互式教程[2]。大家也可以利用Kubeadm安装此次发布的1.12版本。

发布团队

此次最新版本的实现源自数百位技术与非技术内容贡献者的共同努力。这里要特别感谢VMware开源技术中心编排与容器领域负责人Tim Pepper带领的发布团队。该团队中的36位成员协调此次发布中的各项工作,包括文档、测试、验证以及功能完整性等等。

随着Kubernetes社区的发展壮大,我们的发布进程亦代表着开源软件开发领域的一项惊人成就。Kubernetes正迅速获得更多用户的青睐,而这种增长亦创造出积极的反馈周期——更多贡献者为我们提交代码,并创造出更具活力的Kubernetes发展态势。目前,Kubernetes拥有超过2万2千名个人贡献者,活跃社区成员总量则超过4万5千人。

相关链接:

  1. https://github.com/kubernetes/kubernetes/releases/tag/v1.12.0

  2. https://kubernetes.io/docs/tutorials/

转自:Docker

本文链接:https://www.fcblog.top/kubernetes-1.12-New-Features-532d134b

fc
1,525