在Rancher 2.3之前,Rancher的新版本总是随着Kubernetes的新版本一起发布,如果你想要使用最新版本的Kubernetes,那么你需要先升级Rancher才能使用。Rancher 2.3改变了这一模式——现在,可以为可用的Kubernetes版本更新元数据存储,从而使Rancher服务器的升级过程与Kubernetes集群的升级过程解耦。

Kubernetes 版本控制

关于发行版的版本控制在Kubernetes文档中已经有详细的介绍,值得一提的是,每个Kubernetes的版本都遵循X.Y.Z的格式:

  • X=主要版本

  • Y=次要版本

  • Z=修复版本(补丁版本)

Kubernetes社区大致每三个月会发布一个次要版本(1.14->1.15),这些发行的版本会更新许多所需功能以及改进。尽管被标记为“次要版本”,但这些版本依旧十分重要!

补丁版本(1.15.1->1.15.2)的更新会更加频繁并且十分重要,因为它们包含了及其重要的安全性和适用于最新次要版本的bug修复。它们解决了:

  • 安全漏洞

  • 修复影响大部分用户无法解决的问题

  • 基于Kubernetes的客户和产品拦截

Kubernetes官方希望集群将“合理地”更新到生产环境中,并且“大致”运行的是最新补丁版本。他们可以同时发布三个次要版本。这一切意味着,如果你的Kubernetes版本在最新版本后面有一些补丁版本,此时如果你想知道“何时才是升级集群的最佳时机”,那么答案可能是尽早升级以确保集群安全可靠。如果你的Kubernetes版本后面有几个次要版本,那么答案是在升级路径变得困难之前,应该现在就升级。

而Rancher努力通过实现“一键升级”以使这一过程变得简单和易于管理。在Rancher 2.3之前,Rancher的新版本始终适配Kubernetes最新的补丁版本。重要的安全修复已移植到新发布的版本,因此Rancher升级后即可使用Kubernetes新的补丁版本。

K8s版本和Rancher版本的解耦

在Rancher 2.3之前的版本中,将Rancher启动的集群升级到最新版本的Kubernetes需要两个步骤:

1、 升级Rancher server

2、 在下游集群中升级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元数据

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.8、1.15.5和1.16.2)现在在同一个Rancher版本(v2.3.0)中可以使用。

通过这一更改,你可以按计划保证集群处于最新状态,而与Rancher发布Rancher server新版本的时间无关。

Rancher一向致力于让Kubernetes的各个方面都变得简单,并且我们将继续添加更多功能以及进行更多优化,我们希望收到你的反馈!

Rancher 2.3实现K8S一键式升级!再也不用同步升级Rancher啦!的更多相关文章

  1. 企业级rancher搭建Kubernetes(采用rancher管理平台搭建k8s)

    一.简介 Rancher简介 来源官方:https://www.cnrancher.com/ Rancher是一个开源的企业级容器管理平台.通过Rancher,企业再也不必自己使用一系列的开源软件去从 ...

  2. Rancher2.x 一键式部署 Prometheus + Grafana 监控 Kubernetes 集群

    目录 1.Prometheus & Grafana 介绍 2.环境.软件准备 3.Rancher 2.x 应用商店 4.一键式部署 Prometheus 5.验证 Prometheus + G ...

  3. 一键式Spring集成工具 Spring Boot

    最近公司使用Spring boot进行开发,稍微了解一下,不过自我感觉把集中式配置applicate.properties搞明白,注解用过Spring MVC的boot绝对没问题的 比如拦截器:@As ...

  4. azure 云上MySQL最新版本 MySQL5.7.11 批量自动化一键式安装 (转)

    --背景云端 以前都喜欢了源码安装mysql,总觉得源码是高大上的事情,不过源码也需要时间,特别是make的时候,如果磁盘和cpu差的话,时间很长很长,在虚拟机上安装mysql尤其甚慢了. 现在业务发 ...

  5. Visual Studio 2012 Web一键式发布

    按照保哥的介绍,尝试“ Web一键式发布”,但总是出错,主要就是404错误,不知道是什么原因.默认的 Web一键式发布是在C:\inetpub\wwwroot目录下,难道是权限问题?折腾N久无果.好吧 ...

  6. Azure Site Recovery 通过一键式流程将虚拟机故障转移至 Azure虚拟机

    Ruturaj Dhekane 云 + Enterprise 项目经理  现在,AzureSite Recovery可以通过其"灾难恢复至 Azure"功能保护您的工作负荷,并 ...

  7. 无线网破解软件|一键式破解无线网|BT17软件包下载[笔记本+软件就行]

    从新版BT17发布到现在已经有一段时间,谢谢大家的一直来的关注.现在给大家讲解一下无线网破解问题,告诉 大家如何一键式破解WPA,WPA2,AES.Tkip等加密方式以及新版BT17软件包的下载地址. ...

  8. C# 制作Java +Mysql+Tomcat 环境安装程序,一键式安装

    原文:C# 制作Java +Mysql+Tomcat 环境安装程序,一键式安装 要求: JDK.Mysql.Tomcat三者制作成一个安装包, 不能单独安装,安装过程不显示三者的界面, 安装完成要配置 ...

  9. 如何:使用 Visual Studio 中的一键式发布来部署 Web 应用程序项目

    原文: 如何:使用 Visual Studio 中的一键式发布来部署 Web 应用程序项目 本主题介绍如何在以下产品中使用 一键式发布 发布(部署)Web 应用程序项目: Visual Studio ...

随机推荐

  1. 基于Galera Cluster多主结构的Mysql高可用集群

    Galera Cluster特点 1.多主架构:真正的多点读写的集群,在任何时候读写数据,都是最新的 2.同步复制:集群不同节点之间数据同步,没有延迟,在数据库挂掉之后,数据不会丢失 3.并发复制:从 ...

  2. js 日常正则

    手机号 /^1((3[\d])|(4[5,6,9])|(5[0-3,5-9])|(6[5-7])|(7[0-8])|(8[1-3,5-8])|(9[1,8,9]))\d{8}$/ 大写字母 /^[A- ...

  3. C#面向对象--命名空间

    一.在C#中,使用命名空间(Namespace)可以帮助控制自定义类型的作用范围,同时对大量的类型进行组织:使用namespace关键字声明命名空间,命名空间可以嵌套使用: namespace MyN ...

  4. <编译原理 - 函数绘图语言解释器(2)语法分析器 - python>

    <编译原理 - 函数绘图语言解释器(2)语法分析器 - python> 背景 编译原理上机实现一个对函数绘图语言的解释器 - 用除C外的不同种语言实现 设计思路: 设计函数绘图语言的文法, ...

  5. [ch04-02] 用梯度下降法解决线性回归问题

    系列博客,原文在笔者所维护的github上:https://aka.ms/beginnerAI, 点击star加星不要吝啬,星越多笔者越努力. 4.2 梯度下降法 有了上一节的最小二乘法做基准,我们这 ...

  6. rug

    rug()函数 :给图添加rug representation. · 一维的 · rug的方式是补充,仅仅包括落在图像区域内的x的值,丢失掉任何有限的值,将会被警告:而丢失任何非有限的值,则静静地丢失 ...

  7. jitter()函数的使用

    jitter()函数:对数值向量添加一个小的噪音量. jitter(x,factor=1,amount=NULL) ·x:数值变量,需要加入噪音的数值向量: ·factor:数值型: ·amount: ...

  8. Flask开发成语接龙游戏,闲来无事手机玩玩自己写的游戏吧!

    英语单词学习应用 周五发布的文章Flask开发天气查询软件,带你掌握pipenv的使用与手机Termux下的部署发布后,看到喜欢的人比较多.本来周末打算照着扇贝/极光单词,写一个英语单词自测工具.但苦 ...

  9. oracle监听查看、启动和停止

    oracle监听查看.启动和停止 查看监听lsnrctl status 停止监听lsnrctl stop 启动监听lsnrctl start

  10. postman+newman+html测试报告(接口自动化)

    1.安装node.js(Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境) 下载安装node.js,下载地址:https://nodejs.org/en/ 2.安 ...