Rancher 2.0 Beta版已正式发布。Rancher 2.0是一个企业级Kubernetes平台,能够实现多Kubernetes集群的统一纳管,解决生产环境中企业用户可能面临的基础设施不同的困境。此外,Rancher 2.0简洁直观的界面风格及操作体验,将解决业界遗留已久的Kubernetes原生UI易用性不佳以及学习曲线陡峭的问题。加之Rancher 2.0带来的监控、日志、CI/CD等一系列拓展功能,可以说,Rancher 2.0为企业在生产环境中落地Kubernetes提供了更加便捷的途径。
现在,Rancher 2.0的开发已进入尾声,Rancher Labs研发团队将集中精力进行测试及文档完善的工作。我们认为在此时为Rancher用户提供一个术语词汇表是非常有用的,这有助于Rancher用户理解Kubernetes和Rancher的基本概念。
从Rancher 1.6发展到Rancher 2.0,如今Rancher产品会更多地遵循于Kubernetes的命名标准。这一转变可能会让曾经在Rancher 1.6中只使用Cattle环境的用户感到些许困扰。
不过没有关系,本文将帮助你理解Rancher 2.0中的新概念。它也可以作为容器编排框架Cattle和Kubernetes之间术语和概念的一个简要参照。
Rancher 1.6 Cattle和Rancher 2.0 K8s对比
Rancher 1.6提供的编排工具Cattle得到了许多用户的青睐。在Cattle中,你有一个环境,它是管理和计算的边界,即你可以指定权限的最低层级;重要的是,该环境中所有的主机都是专用于此环境。然后,为了组织你的容器,你需要有一个堆栈(Stack),它是一个服务集合的逻辑分组,以及一个作为特定运行镜像的服务。
那么这个结构在2.0中是什么样呢?
如果你一直关注容器领域,那么你不可能没听过Kubernetes的一些术语,比如pods、命名空间(namespaces)和节点(nodes)。本文就将为大家对比、统一Cattle和Kubernetes这两个不同的容器编排工具的常见术语,从而简化Rancher用户从Cattle到Kubernetes的过渡。随着一些名称的变化,一些功能也发生了改变。
下表给出了一些核心Kubernetes概念的定义
更多Kubernete概念的细节,请参考:
https://kubernetes.io/docs/concepts/
Rancher 1.6中的环境代表了两样东西:
计算边界
管理边界
而在2.0中环境的概念不复存在,取而代之的是:
集群(Cluster)--- 计算边界
项目(Project)--- 管理边界
其中项目是由Rancher引入的管理层,以便减轻Kubernetes的管理负担。
在Cattle中,一个主机只属于一个环境。现在在Rancher 2.0中也是类似的,一个节点(主机的新名称),只属于一个集群。之前由主机组成的环境,现在变成了由节点组成的集群。
Rancher 1.6中的堆栈是一种对多个服务进行分组的方法。在Rancher 2.0中,这是由命名空间完成的。
在Rancher 1.6中,服务被定义为运行同一容器的一个或多个实例。在Rancher 2.0中,运行相同容器的一个或多个实例被定义为工作负载,其中工作负载可以由带有控制器的pod组成。
容器镜像是一个轻量级的、独立的、可执行的软件包,它包含了运行它所需要的全部东西:代码、运行时间、系统工具、系统库、设置等等。在Kubernetes下,pod是最小的单位。Pod可以是单个镜像,也可以是多个共享相同存储/网络的镜像,以及有关这些镜像如何交互的描述。Pod的内容总是共同定位以及共同调度,并在共享的context中运行。
在Rancher 1.6中,负载均衡器用于将你的应用程序从Rancher环境中公开,允许外部的访问。在Rancehr 2.0中这个概念是一样的。有一个负载均衡器的选项帮助公开你的服务。在Kubernetes的语言中,这个功能通常被称为Ingress。简而言之负载均衡器和Ingress扮演着相同的角色。
结论
从概念上讲,Cattle是所有编排工具中最接近Kubernetes的一个。希望这篇文章能给从Rancher 1.6过渡到Rancher 2.0的用户一个简单的参考。另外,Cattle和Kubernetes之间的相似性也能帮助用户更好地进行转换。
下表给出了新旧术语的快捷对比参考:
同时您可以关注我们的微信公众号(RancherLabs),获取Rancher 2.0的在线培训的视频回放链接,了解更多Rancher 2.0 Beta的操作演示,及如何使用Rancher 2.0管理Kubernetes集群。
原文地址:http://blog.51cto.com/12462495/2107641