在Rancher 2.3以前,Rancher的新版本老是随着Kubernetes的新版本一块儿发布,若是你想要使用最新版本的Kubernetes,那么你须要先升级Rancher才能使用。Rancher 2.3改变了这一模式——如今,能够为可用的Kubernetes版本更新元数据存储,从而使Rancher服务器的升级过程与Kubernetes集群的升级过程解耦。安全
关于发行版的版本控制在Kubernetes文档中已经有详细的介绍,值得一提的是,每一个Kubernetes的版本都遵循X.Y.Z的格式:服务器
X=主要版本测试
Y=次要版本优化
Z=修复版本(补丁版本)版本控制
Kubernetes社区大体每三个月会发布一个次要版本(1.14->1.15),这些发行的版本会更新许多所需功能以及改进。尽管被标记为“次要版本”,但这些版本依旧十分重要!code
补丁版本(1.15.1->1.15.2)的更新会更加频繁而且十分重要,由于它们包含了及其重要的安全性和适用于最新次要版本的bug修复。它们解决了:server
安全漏洞blog
修复影响大部分用户没法解决的问题文档
基于Kubernetes的客户和产品拦截部署
Kubernetes官方但愿集群将“合理地”更新到生产环境中,而且“大体”运行的是最新补丁版本。他们能够同时发布三个次要版本。这一切意味着,若是你的Kubernetes版本在最新版本后面有一些补丁版本,此时若是你想知道“什么时候才是升级集群的最佳时机”,那么答案多是尽早升级以确保集群安全可靠。若是你的Kubernetes版本后面有几个次要版本,那么答案是在升级路径变得困难以前,应该如今就升级。
而Rancher努力经过实现“一键升级”以使这一过程变得简单和易于管理。在Rancher 2.3以前,Rancher的新版本始终适配Kubernetes最新的补丁版本。重要的安全修复已移植到新发布的版本,所以Rancher升级后便可使用Kubernetes新的补丁版本。
在Rancher 2.3以前的版本中,将Rancher启动的集群升级到最新版本的Kubernetes须要两个步骤:
一、 升级Rancher server
二、 在下游集群中升级Kubernetes版本
如今,一切都不同了。在Rancher 2.3中,你能够直接升级Kubernetes集群到最新版本,而且无需升级Rancher。由于,在Rancher 2.3中解耦了Rancher中的Kubernetes元数据。
Rancher部署的集群运行RKE,这是Rancher的一款开源的Kubernetes发行版,它可让你在任意地方运行Docker。在Rancher 2.3以前,启动不一样Kubernetes版本的信息存储在不一样的地方。这个数据与代码库中的数据接近,所以更新任一值都须要发布一个新的Rancher版本。没有一个位置可让系统访问须要传递给集群的值。Rancher 2.3重构了整个方法以知足如下需求:
将Kubernetes元数据持续交付给兼容的Rancher server
清晰地将全部元数据组件映射到Kubernetes版本
能够从Rancher API轻松访问全部内容
离线设置的可用性和支持路径
使启用或禁用升级程序、设置升级中使用的值易于配置
请注意:Kubernetes API会在两个次要版本之间更改,所以升级次要版本不必定能成功。例如,在Kubernetes 1.15中 API发生了重大更改,而在你的Rancher server中支持的最高版本是Kubernetes 1.14,若是此时你想要升级Kubernetes到1.15版本的话,须要升级Rancher以支持Kubernetes 1.15。
Rancher按期同步和下载元数据,这些数据不能直接从UI中获取,可是用户能够在API里查看。
RKE元数据配置决定了Rancher同步元数据的频率以及下载数据的位置。你能够从UI的【设置】下找到,也能够经过API的/v3/settings/rke-metadata-config
这个路径获取。它包括如下选项:
固然,你也能够选择手动更新,操做地址在右上角:Tools > Drivers > Refresh Kubernetes Metadata。对于离线设置,能够选择将URL配置复制到默认的Rancher元数据存储库。你也能够下载包含所需系统镜像的文件,只需点击Rancher UI左下角的Rancher版本便可下载。
运做方式以下:
Rancher v2.3.0一开始默承认选择如下Kubernetes版本:
Kubernetes发布了1.15.5版本,修复了一个重要的CVE,而咱们目前的版本1.15.4受到安全漏洞的影响。
Rancher测试团队会测试新版本,让其能够在Rancher中使用。用户仅需经过选择Tools > Drivers > Refresh Kubernetes Metadata便可更新元数据。
最新的Kubernetes版本(1.14.八、1.15.5和1.16.2)如今在同一个Rancher版本(v2.3.0)中可使用。
经过这一更改,你能够按计划保证集群处于最新状态,而与Rancher发布Rancher server新版本的时间无关。
Rancher一贯致力于让Kubernetes的各个方面都变得简单,而且咱们将继续添加更多功能以及进行更多优化,咱们但愿收到你的反馈!