如何从Rancher 1.6迁移到Rancher 2.0?这份清单可以帮助你!

瘦欲@ 提交于 2019-11-30 06:41:04

Rancher 2.0全面拥抱Kubernetes,而目前Rancher 1.6和2.0之间尚未有直接的升级路径。本文将提供一份简短的清单,包括安装、配置身份验证、添加集群和项目、创建命名空间、以及迁移应用,帮助您快速上手Rancher的迁移工作。


Rancher 1.6是一个深受广大用户喜爱的容器编排平台,帮助企业用户在生产环境中运行和管理Docker和Kubernetes。Rancher 1.6支持多种容器编排框架,包括Kubernetes、Mesos、Docker Swarm,默认的基础编排引擎是Cattle,Cattle极简的操作体验受到了大量开源社区用户和企业用户的青睐。

过去一年,Kubernetes流行度快速上升,成为业界公认的容器编排框架标准。Rancher极具前瞻性地早在2017年9月便宣布全面拥抱Kubernetes,Rancher 2.0发布之后,基础编排平台从Cattle变成了Kubernetes。Rancher 2.0旨在将基础架构及云计算领域Kubernetes Everywhere的愿景变成现实。

然而,也正因为Rancher 2.0使用的编排技术完成转向成为Kubernetes,Rancher 2.0与Rancher 1.6有了很大区别。目前,在这两个版本之间还没有直接的升级路径。

那么,希望从Rancher 1.6迁移到Rancher 2.0的用户们,应该如何操作呢?

在这篇文章里,我将提供一则简短的清单,你可以依据此进行迁移:

安 装

有关Rancher 2.0安装的说明,请参阅Rancher文档:

https://rancher.com/docs/rancher/v2.x/en/installation/

请注意,目前Rancher 2.0只支持以下Docker版本:

  • 1.12.6

  • 1.13.1

  • 17.03.2

这些Docker版本是根据Kubernetes上游版本中的外部依赖项下找到的,以上列出的所有版本都是经过验证的。

Rancher目前使用的是Kubernetes 1.10版本并且计划在2.0.7版本中使用1.11版本。Rancher会持续更新最新的Kubernetes上游版本。

至于单节点的开发安装,你可以使用类似的docker run命令配置一个带有Docker的Linux主机并在Docker容器中安装Rancher,和安装Rancher 1.6一样。

对于开发环境,我们建议通过运行单个Docker容器来安装Rancher。

与Rancher 1.6版本的一个区别是Rancher 2.0要求你使用SSL来提高安全性,所以你需要在安装期间提供一个证书。如果你没有提供证书,Rancher会自动为你生成一个自签名证书。有关证书的选项,请参阅此处:

https://rancher.com/docs/rancher/v2.x/en/installation/single-node-install/#2-choose-an-ssl-option-and-install-rancher

与1.6相比,安装高可用性Rancher2.0的设置有很大不同。具体步骤请参考:

https://rancher.com/blog/2018/2018-08-09-migrate-1dot6-setup-to-2dot0/

请注意,在HA模式下的1.6Rancher Server任何的现有自动化脚本在Rancher 2.0的安装中都需要重新设定。

配置身份验证

如果你之前在Rancher 1.6中设置过身份验证,那么想必你对下图中的这些Rancher支持的身份验证方式都十分熟悉。

在Rancher 2.0中,上述所有的身份验证方式都是依旧支持的,同时我们还添加了对几个新的身份验证提供商的支持,如下图所示:

身份验证的基础配置要求设置和Rancher1.6上的是一样的。你可以查看文档了解配置不同身份验证的细节。

https://rancher.com/docs/rancher/v2.x/en/admin-settings/authentication/)

有一个区别值得注意,在Rancher 2.0的设置中,即使你配置任何其他的身份验证机制,local auth始终打开。

添加集群和项目

当你运行Rancher安装并且启用身份验证之后,接下来要做的事情是创建一个集群和一个可以部署工作负载的项目。在Rancher 1.6的设置中,安装之后,你应该创建一个可以添加计算节点的环境。在Rancher 2.0中,你需要创建一个集群并且添加计算节点到集群中。

如果你不了解集群,或不知道如何创建集群,请参阅官网:

https://rancher.com/docs/rancher/v2.x/en/cluster-provisioning/#what-s-a-kubernetes-cluster

集群设置好之后的视图如下,在每个集群中,都会有一个可用的【默认】项目。

1.6中Cattle的“环境”相当于2.0中“带有项目的集群”,原因如下:

在1.6中,计算资源被分配给环境。

在2.0中,你将它们分配给集群。

在1.6中,用户被添加到环境中,在那里他们可以部署服务并共享对属于该环境的主机的访问权限。

在2.0,用户被添加到项目中,他们部署的工作负载可以访问该项目中的资源。

这种集群和项目模型允许多租户,因为主机由集群所拥有,并且集群可以进一步划分为多个项目,用户们可以在其中管理他们的应用。

创建命名空间

在添加集群和项目之后,下一步是要定义用于为应用工作负载进行分组的命名空间。在Rancher 1.6中,创建堆栈则可以将属于你的应用程序的服务组合到一起。在2.0中,你需要以同样的目的创建命名空间。项目中将提供默认命名空间,如果未明确提供工作负载,则该命名空间将部署工作负载。与1.6类似,Rancher 2.0支持命名空间内和跨命名空间的服务发现。

迁移应用

当你的Kubernetes集群和项目已经就位,下一步就是迁移工作负载。

如果你是一个Rancher 1.6的用户并且使用Cattle环境,那么在迁移你的工作负载过程中,你需要了解在Rancher 2.0中在调度、负载均衡、服务发现、服务监控等方面的改变。你可以关注即将推出的系列文章(https://rancher.com/blog/2018/2018-08-02-journey-from-cattle-to-k8s/),该系列文章介绍了如何使用Rancher 2.0 UI或从Docker Compose配置转换为Kubernetes YAML进行迁移。它旨在探索有关工作负载部署的各个领域以及Rancher 2.0中提供的等效选项。

如果你已经在Rancher 1.6 Kubernetes环境中运行你的工作负载,那么你可以用UI或者Rancher CLI直接将Kubernetes YAML文件导入Rancher 2.0集群中。

希望这份迁移清单可以帮助你快速上手由Rancher 1.6迁移至Rancher 2.0的工作,和Rancher一起开启Kubernetes之旅!

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!