一个小白问题:Rancher, RKE 和 K8S的关系和区别

我是K8S的小白,请问一下谁方便通俗易懂地帮忙讲解一下, Rancher, RKE 和 K8S这三者的关系和区别,以及适用于什么需求?谢谢!

K8s

K8s是一种编排工具,基于容器的集群管理平台(简单点,可以理解为esxi与vCenter的关系吧)
建议看这篇文章:10分钟看懂Docker和K8S - 知乎

Rancher

Rancher 一般指的是 Rancher 1.x 和 Rancher 2.x。

Rancher 1.x 主要用的是 Rancher 自研的 Cattle 编排引擎管理容器,简单易用。由于版本更新,目前已经 Rancher Labs 不再继续维护 Rancher 1.x,而是推出了 Rancher 2.x。

Rancher 2.x 是一款 Kubernetes 管理平台,也是 Rancher Labs 的旗舰产品,目前 Rancher 2.x 产品在 k8s 多集群管理领域里处于绝对领先的位置。

RKE

RKE 全称是 Rancher Kubernetes Engine。可以通过 CLI 的方式独立于 Rancher 2.x 使用。可以在安装好 docker 的 linux 主机上,快速方便的搭建 Kubernetes 集群。在搭建生产可用的 Kubernetes 集群的工具里,RKE 的易用性应该是最好的。可以理解为RKE简化了k8s集群的部署

关于 RKE 和 Rancher 的关系,RKE 是 Rancher 2.x 中的一个重要组成部分,在 UI 上通过“自定义主机”创建的集群和通过“主机驱动”创建的集群,都是 Rancher Server 调用 RKE 模块来实现的。我们一般叫这种集群为 RKE 集群。英文文档和 Release Notes 里叫 Rancher-Launched Kubernetes cluster。

Rancher:简单来说是一个容器管理平台
RKE:是一个部署 K8S 集群的工具,可以基于 rke 的二进制文件和一个集群配置文件,通过 rke up 命令快速创建一个 K8s 集群。

通过 Rancher 创建自定义K8s 集群其实后台用的就是 RKE 创建的。