我正在尝试深入研究 Rancher,并且想知道将 Rancher 插入 Kubernetes 是否比 Cattle (Rancher 的家庭编排框架)有任何额外的好处。到目前为止,我还没有弄清楚为什么有人会选择 Rancher 和 Kubernetes。它是否仅有助于简化 Kubernetes 的初始设置?这些选项与 Kubernetes 的独立设置有何不同?
4 回答
现在有一个很好的答案。Rancher 刚刚通过宣布 Rancher 2.0 将 100% 迁移到 Kubernetes:http ://rancher.com/announcing-rancher-2-0/ 。它不再使用牛。
在生产环境中同时使用 Rancher + Cattle 和 Kubernetes 一年多后,我可以分享一些个人观察,但首先让我分享一些关于 Kubernetes 与 Rancher + Cattle 的想法:
- Kubernetes 具有惊人的灵活性,并且设计为可扩展的。Kubernetes 集群有两个支柱——kube-apiserver作为主要单元,etcd作为存储。其他基本组件对集群至关重要,但它们被设计为使用 kube-apiserver 的 API,就像任何 Kubernetes 扩展都应该使用的那样。您可以按照您需要的方式设计您的集群,使用不同的网络提供程序、身份验证/授权服务、卷提供程序并替换集群中的几乎所有组件 - 如果配置正确,您的扩展 Kubernetes 集群几乎在任何情况下都将比基本 Cattle 集群更稳定,不说牛扩展。
- Kubernetes 具有许多有用的开箱即用功能,可用于持久化数据、保护数据机密并控制对其的访问。这是重要的部分,rancher-nfs非常脆弱,此外,NFS-storage 是 Cattle 中唯一或多或少稳定的选项来保留卷,更不用说本地存储了。
- Kubernetes 对于小团队中不频繁的部署和开发来说是一种过度杀伤力。毫无疑问,Cattle 是 Kubernetes 的一个简单克隆,继承了它的命名空间、Pod、调度等基本概念,但它使得集群的部署和维护非常容易,对不懂的开发人员也很有用。容器化和网络化。由于其简单性,它对于繁重且动态变化的生产项目变得非常不可用。
- Kubernetes 社区发展迅速,得到了云提供商和无数开源项目和初创公司的支持,因此学习 Kubernetes 比学习 Cattle 更明智,Cattle 现在一只脚在坟墓里。
- 最后 -牛是不稳定的,非常不稳定。特别是如果您打算将其与裸机一起使用。相信我,你不想在生产中使用 Cattle。
谈到 Rancher + Kubernetes 捆绑在一起 - 这是一个非常好的组合,Rancher Web UI 以一种很好的方式使 Kubernetes 概念更简单,集群维护和配置变得更加容易,但总有一些“但是”:Rancher 2.0 也非常不稳定,错误使它现在无法用于生产。Rancher 1.x + Kubernetes 不能说什么。
根据我们的经验,牛只是一个玩具。它只是适合开发或一些小环境。如果你在 PROD 中使用过 Cattle,你就会知道我在说什么。
但是 Rancher 远比 k8s 简洁和简单。
所以我很期待Rancher 2.0,
Rancher 2.0 是一个基于 Kubernetes 构建的完整容器管理平台
rancher v2 更复杂,因为 ks8 很复杂,但它包含管理容器的强大功能,对于牛牧场主 v1 和 ks8 牧场主 v2 之间的优缺点,这里有一些最重要的区别:
1-rancher v1 牛更像 docker-compose 而不是现代编排工具,并且缺乏支持新的存储驱动程序或真正的高可用负载均衡器方法,如 ks8 中的 ingress。
2-rancher v1 有很棒的社区目录,可以更容易地创建高可用性服务,但解决可能发生的问题有点棘手。
3 - rancher v2 支持社区目录和 helm,但需要更多的贡献才能像 v1 一样稳定和强大,但 k8s 完全稳定,使用 kubectl 管理 pod 和资源很容易。
我的意见是,如果你想启动 docker 编排,请使用 rancher v2,ks8 有很好的 cli 工具,但是当你需要升级容器或更改配置时,rancher web gui 可以有效地提供帮助。