Kubernetes 团队于 2019 年 6 月 19 日发布了Kubernetes 1.15,这是 2019 年的第二个版本。根据发布公告,最新版本的目标是改进和扩展。Kubernetes 1.15 包含了一些新特性,比如基于自定义资源定义的清除,相对于之前的版本,新版本主要关注的是稳定性而不是增强。
对稳定性和可扩展性的增强主要是基于自定义资源定义(Custom Resource Definition,CRD)。自定义资源是 Kubernetes API 的扩展,让用户可以向 Kubernetes 集群添加自定义对象。CRD 改进的目标是最小化自定义资源和核心 Kubernetes 资源接口之间的差异,并最终让自定义资源具有通用可用性。
为此,Kubernetes 团队引入了结构化模式来改进数据的一致性和行为。结构化模式是符合OpenAPI V3规范的 JSON 模式,它要求根节点、对象节点的每个声明字段和数组节点中的每个项都具有非空类型。只要符合结构化模式规范,就可以使用逻辑约束和验证。从 Kubernetes 1.15 开始,CRD 的任何新特性都需要一个结构化模式。
来自 Kubernetes 文档的结构化模式示例
结构化模式支持 CRD 的两个新的增强:数据清除和字段默认值。在定义自定义资源时包含默认字段值是通过 OpenAPI 验证模式来完成的。CRD 字段默认值在引入新字段时提高了 API 兼容性。与 OpenAPI 模式验证不一致的数据将被清除,这样可以改善数据质量和安全性问题。有关使用结构化模式的更多信息已添加到Kubernetes文档中。
稳定性也是kubeadm改进的目标之一。kubeadm 是一个用于启动最小可行集群的工具,为创建 Kubernetes 集群提供了一个“快速路径”。使用 kubeadm 自动创建动态高可用集群的功能已经升级到 beta 版。创建高可用性集群需要外部负载均衡器,这超出了 kubeadm 的范围,社区将提供几种常见的负载均衡器实现(如 HAProxy 和 Envoy 等)。证书管理在 1.15 中也得到了简化,因此 kubeadm 将在升级期间自动旋转证书。对 kubeadm 配置文件进行了重要的重构和测试,并将该特性带到 beta 阶段。
卷克隆功能已经作为测试版引入。卷克隆允许用户在提供新卷时将另一个持久化卷指定为“数据源”。卷克隆 API 让用户可以轻松地从现有卷复制状态,例如将数据从数据库复制到新的数据库实例。
其他特性包括:支持 Kubernetes 核心的Go模块,支持第三方监控节点插件,以及一个新的调度插件框架。要了解更多关于最新版本的信息以及如何升级到 Kubernetes 1.15,请查看发布说明。
原文链接:
Latest Kubernetes Release Focuses on Continuous Improvement and Stability
评论