我一直试图了解Rancher(或DC / OS)与Kubernetes的不同之处。他们都说他们是容器管理工具。为什么我们需要两者?他们有什么不同?
答案 0 :(得分:52)
Rancher是一个简洁的工具,最好被描述为Kubernetes的部署工具,它还集成了自己以提供网络和负载平衡支持。
Rancher最初创建了自己的框架,名为Cattle,用于协调跨多个主机的docker容器。那时Docker仅限于在一台主机上运行。 Rancher通过在主机之间提供网络提供了一个有趣的解决方案,最终成为Docker Swarm的一部分。
现在Rancher使用户可以选择Cattle,Docker Swarm,Apache Mesos(DCOS的上游项目)或Kubernetes来管理您的容器。
的回复你很正确。对于容器用户,Kubernetes抽象出了计算,网络和存储的底层实现细节。它是在Rancher帮助的基础细节的设置中。 Rancher的网络在各种平台上提供一致的解决方案。我发现它在裸机或标准(非云)虚拟服务器上运行时特别有用。
如果您只使用AWS,我会使用kops并利用您提到的原生集成。
虽然我已经注意到了k8s,但必须承认Rancher还允许轻松安装其他框架(Swarm和Mesos)。我建议尝试一下,如果只是为了理解你为什么不需要它。
Rancher宣布预览Rancher 2.0。对您的问题的新答案是,很快Rancher将成为管理UI和一组旨在部署在Kubernetes之上的其他服务。
答案 1 :(得分:13)
Rancher 2.0现在是GA,它是一个开放源代码产品,可简化在任何运行位置部署和管理Kubernetes的方式。它为Kubernetes用户解决了三个主要问题:
这是一个Kubernetes发行版和安装程序,使部署和升级Kubernetes非常容易。有点像kops,kubespray等。这件作品称为RKE,可以独立于Rancher使用。
Rancher 2.0是用于管理Kubernetes集群的多集群管理工具。无论您是使用RKE创建集群,拥有现有的Kubernetes集群还是使用托管的Kubernetes集群(例如GKE,EKS或AKS),Rancher都可以集中管理所有这些集群。具体来说,它解决了用户管理和RBAC,安全策略管理,容量管理,委托管理,集群备份和恢复,日志记录和监视等问题。
Rancher是使用Kubernetes的团队的用户界面。 Rancher提供了一个UI和API,供用户与他们有权访问的Kubernetes集群进行接口。用户也可以只使用KubeCTL。该层提供了集成的工具,使使用Kubernetes非常容易,包括集成的日志管理,CI / CD,警报等。Helm很好地集成了并且易于共享模板。即将发布的版本也将Istio和Prometheus集成在一起。
所有这些都是作为一个平台提供的,因此您可以在Rancher的一个版本之间迁移并轻松升级组件。
我希望能有所帮助。您可以在github.com/rancher/rancher
上了解更多信息。答案 2 :(得分:0)
长话短说:
Rancher是Kubernetes上的一个发行版(或封装),具有一些 更多功能(请参见上面的答案),它提供了一个Web UI帽子,提供了大部分功能。
Rancher有自己的路线图,这意味着它不会尽快更新 随着Kubernetes的发布,您将获得新功能和错误修复 后来出现了更多的kubernetes。更多的新功能意味着与Kubernetes的主线相比更加复杂且偏差更大。