做者:1.15发布团队git
咱们很高兴地宣布交付Kubernetes 1.15,这是咱们2019年的第二个版本!Kubernetes 1.15包含25个加强:2个升级为稳定,13个升级为beta,10个升级为alpha。此次发布的主题是:github
持续改进web
可扩展性api
让咱们深刻了解这个版本的主要特性:安全
围绕customresourcedefinition的新开发的主题是数据一致性和原生行为。用户不该该注意交互是与CustomResource仍是与Golang-native资源进行的。随着大的步骤,咱们在将来的版本之一正在努力向一个GA版本的CRD和GA的准入webhook。服务器
在这个方向上,咱们从新考虑了CRD中基于OpenAPI的验证模式,从1.15开始,咱们根据“结构模式(structural schema)”的限制检查每一个模式。这基本上强制了CustomResource中每一个字段的非多态( non-polymorphic)和完整类型(complete typing)。未来咱们将须要结构模式,特别是对于全部新特性,包括下面列出的特性,以及列出非结构(NonStructural)条件下的违规行为。在v1beta1 API组中,非结构模式(non-structural schema)仍然保持工做状态。可是任何严肃的CRD应用程序都应该在可预见的未来迁移到结构模式。网络
关于什么使模式结构化的详细信息将在kubernetes.io的博客文章中在本周晚些时候发布,固然Kubernetes的文档中对此有记录。数据结构
beta: CustomResourceDefinition Webhook Conversion
customresourcedefinition自1.14起做为beta支持多个版本。使用Kubernetes 1.15,它们可以实时地在不一样版本之间进行转换,就像用户长期习惯于从原生资源进行转换同样。CRD的转换是经过webhook实现的,由集群管理员部署在集群内部。这一特性已在Kubernetes 1.15中升级到beta,将CRD提高到一个全新的水平,用于真正的CRD应用程序。app
beta: CustomResourceDefinition OpenAPI Publishing
kube-apiserver在/openapi/v2上为原生类型提供OpenAPI规范已经有很长一段时间了,它们被许多组件使用,尤为是kubectl客户端验证、kubectl explain和基于OpenAPI的客户端生成器。框架
用于CRD的OpenAPI发布将在Kubernetes 1.15做为beta提供,一样只适用于结构模式。
beta: CustomResourceDefinitions Pruning
修剪(Pruning)是自动删除发送到Kubernetes API的对象中的未知字段。若是未在OpenAPI验证模式中指定字段,则该字段是未知的。这是一个数据一致性和安全性相关的特性。它强制只将CRD开发者指定的数据结构持久化到etcd。这是原生资源的行为,也将用于CRD,从Kubernetes 1.15的beta版开始。
修剪是经过CustomResourceDefinition中的spec.preserveUnknownFields: false激活。未来的apiextensions.k8s.io/v1 CRD变种将强制执行修剪(可能但明确必要的选择退出)。
修剪要求CRD开发者为CRD的全部版本提供完整的、结构化的验证模式,要么是顶层的,要么是全部版本的。
alpha: CustomResourceDefinition Defaulting
customresourcedefinition得到默认支持。默认值是使用OpenAPI验证模式中的default关键字指定的。在发送到API的对象中以及从etcd读取时,为未指定字段设置默认值。
default在Kubernetes 1.15中将做为alpha提供,用于结构模式。
beta: Admission Webhook Reinvocation & Improvements
对于扩展Kubernetes API的项目来讲,变异(mutating)和验证(validating)准入(admission)webhook变得愈来愈主流。到目前为止,按照字母顺序,只调用了一次变异webhook。早期运行的webhook不能对链中稍后调用的webhook的输出做出反应。随着Kubernetes 1.15的发布,状况将发生变化:
经过指定reinvocationPolicy: ifNeeded,变异webhook能够选择至少一次从新调用。若是后面的变异webhook修改了对象,那么前面的webhook将获得第二次机会。
这要求webhook具备相似幂等(idempotent)的行为,能够处理第二次调用。
不打算添加另外一轮调用,这样webhook的做者仍然必须当心对他们实现的已被认可的对象的更改。最后,调用验证webhook来验证所承诺的不变量是否已实现。
对准入webhook有更多更小的更改,特别是objectSelector,它将具备特定标签的对象排除在准入以外,以及webhook服务器的任意端口(不只仅是443)。
使Kubernetes的安装、升级和配置更加健壮是SIG Cluster Lifecycle在这个周期的主要关注点(请参阅咱们的社区近况)。跨裸金属工具的Bug修复和生产就绪的用户场景(如高可用性用例)在1.15中得到优先级。
集群生命周期构建块kubeadm继续接收高效引导生产集群所需的特性和稳定性工做。kubeadm将高可用性(high availability,HA)功能提高到了beta,容许用户使用熟悉的kubeadm init和kubeadm join命令来配置和部署HA控制平面。已经专门建立了一个全新的测试套件,以确保这些特性在一段时间内保持稳定。
证书管理在1.15中变得更加健壮,kubeadm如今能够在证书到期以前无缝地旋转全部证书(在升级时)。有关如何管理证书的信息,请参阅kubeadm文档。
在1.15中,kubeadm配置文件API从v1beta1迁移到v1beta2。
最后,让咱们庆祝kubeadm如今有了本身的徽标!
在Kubernetes v1.15中,SIG Storage继续工做,以支持将树内卷插件迁移到CSI(Container Storage Interface,容器存储接口)。SIG Storage致力于使CSI具备与树内功能相同的特性,包括调整大小、内联卷等功能。SIG Storage在CSI中引入了一些新的alpha功能,这些功能在Kubernetes存储子系统中还不存在,好比卷克隆(volume cloning)。
卷克隆容许用户在提供新卷时将另外一个PVC指定为“数据源(DataSource)”。若是底层存储系统支持此功能并在其CSI驱动程序中实现“CLONE_VOLUME”功能,则新卷将成为源卷的克隆。
查看发布说明以得到完整的值得注意的特性和修复列表。
Kubernetes 1.15能够在GitHub上下载。要开始学习Kubernetes,请查看这些交互式教程。你还可使用kubeadm轻松地安装1.15。
若是你有兴趣更深刻地研究这些特性,请查看本周和下周的Kubernetes系列文章,其中咱们将重点介绍如下特性的详细演练:
经过数百名提供技术和非技术内容的我的的努力,该版本得以发布。特别感谢Pivotal Software高级技术项目经理Claire Laurence带领的发布团队。发布团队中的38我的协调了发布的许多方面,从文档到测试、验证和特性完整性。
随着Kubernetes社区的发展,咱们的发布过程展现了开源软件开发中的协做。Kubernetes继续快速得到新用户。这种增加创造了一个积极的反馈循环,在这个循环中,更多的贡献者提交代码,建立一个更加活跃的生态系统。迄今为止,Kubernetes已有超过3.2万名我的贡献者,活跃的社区有超过6.6万人。
CNCF继续改进DevStats,这是一个雄心勃勃的项目,旨在可视化项目中所包含的大量贡献。K8s DevStats演示了来自主要公司贡献者的贡献的分解,以及一组使人印象深入的预配置报告,其中包括从单个贡献者到拉请求生命周期时间的全部内容。过去一年,平均每个月有379家不一样的公司和2715多名我的向Kubernetes捐款。查看DevStats了解更多关于Kubernetes项目和社区的整体速度。
全球性组织正在大规模地使用Kubernetes进行生产。最近公布的用户故事包括:
Kubernetes在帮助你的团队吗?与社区分享你的故事。
世界上最大的Kubernetes聚会,KubeCon + CloudNativeCon将于2019年6月24日至26日在上海(与开源峰会Open Source Summit共同举办)举行,11月18日至21日在圣地亚哥举行。这些会议将包括技术会议、案例研究、开发者深度开发、沙龙等等!今天注册!
在7月23日上午10点(PDT时区)加入Kubernetes 1.15发布团队的研讨会,了解这个版本的主要特性。在这里注册。
https://zoom.us/webinar/regis...
参与Kubernetes的最简单方法是加入与你的兴趣一致的许多SIG(Special Interest Groups,特殊兴趣小组)之一。你有什么想向Kubernetes社区广播的吗?在咱们每周的社区会议上分享你的声音,并经过下面的渠道。感谢你不断的反馈和支持。
Alibaba Cloud Hands-on lab:Kubernetes动手实践课
AWS 容器服务技术开放日
Apache ServiceComb Meetup中国峰会
中国原创CNCF项目社区沙龙
Cloud Native Elite
持续交付峰会
DPDK2019中国峰会
Kubernetes贡献者峰会
Huawei – Huawei LiteOS,丰富的端云协同能力
开放数据自主管理迷你峰会
开放异构计算框架介绍
Serverless Is More & Cloud Native Meetup
Serverless Is More Hands-on Workshop
SOFAStack云原生工做坊
CNCF (Cloud Native Computing Foundation)成立于2015年12月,隶属于Linux Foundation,是非营利性组织。CNCF(云原生计算基金会)致力于培育和维护一个厂商中立的开源生态系统,来推广云原生技术。咱们经过将最前沿的模式民主化,让这些创新为大众所用。请长按如下二维码进行关注。