Kubernetes 1.12 新特性解析

本贴最后更新于 2270 天前,其中的信息可能已经事过境迁

原文链接: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

转自:Docker

  • Kubernetes

    Kubernetes 是 Google 开源的一个容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理。

    110 引用 • 54 回帖 • 1 关注
  • Features
    1 引用
  • TLS
    3 引用

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...