Rancher开源Fleet:业界首个海量K8S集群管理项目
2020年4月3日,业界应用最为广泛的Kubernetes管理平台创建者Rancher Labs(以下简称Rancher)宣布推出全新开源项目Fleet,致力于为用户提供海量Kubernetes集群的集中管理体验。
Rancher是业界最早实现多云多集群管理的企业级Kubernetes管理平台。早在2016年的Rancher 1.0版本,Rancher就已经提供了用于管理多个集群的中央控制平面。 作为Kubernetes多集群管理的先驱,我们已经亲眼看到了用户如何不断增加所管理集群的数量。
2019年,Rancher推出了一系列轻量级Kubernetes开源项目,包括轻量级的Kubernetes发行版K3s、基于Kubernetes的应用程序部署引擎Rio、业界首个Kubernetes操作系统K3OS。这些项目获得了大量用户的关注,并收获了一致的好评。随着这些项目的成功,用户开始将成千上万的独立Kubernetes集群部署到分支机构、零售商店、石油钻井平台和风力发电厂等边缘位置。
Rancher联合创始人及总架构师Darren Shepherd创建并主导了Fleet项目,他表示:“用户对于在不久的将来管理成千上万甚至是数百万的集群具有极大的兴趣。我们坚信Kubernetes有望成为在多云及异构IT环境中无处不在的企业计算平台,大规模管理Kubernetes集群的需求将持续不断地增长。”
Fleet:从“宠物”到“牛群”,满足持续增长的集群规模管理需求
随着Kubernetes集群规模的需求不断增长,用户需要一个可以实现多集群管理的全新体系架构,Fleet展示了多集群管理的未来发展形态。过去,用户将Kubernetes集群当作“宠物”,Fleet的横空出世,将帮助用户从管理“宠物”过渡至管理“牛群”,从而实现海量集群的集中管理。
为了扩大所管理的集群数量,用户无法将过多的注意力和精力集中在管理每一个独立的集群上。正如Kubernetes帮助用户将焦点从单个计算节点转移开来一样,Fleet借鉴了这一思路,帮助用户将焦点从单个集群转移开来。
“根据Kubernetes部署Pod的模型,我们定义了Bundles,并通过Selector将Bundles关联到集群上。但我们不能完全复制Kubernetes Pod部署模型。”Darren Shepherd解释道:“跨集群部署这一想法的独特之处在于,每个集群需要对资源进行不同的配置。”
Fleet提供了一种内置机制,可以使用诸如Helm和Kustomize等行业标准工具为每个目标集群定制Bundles。一旦用户在集群之间部署了Bundles,Fleet就会主动监视资源是否已就绪,以及是否被更改过。
在K3s和Rancher上构建
Fleet的可扩展性来自于Rancher Labs为Rancher和K3s的扩展所进行的大量工作和经验累积。虽然K3s的目标是较小的部署,但是K3s的存储技术使Kubernetes可以管理比使用etcd时更大的数据集。除此之外,K3s也为减少Kubernetes控制器中不必要的通信进行了优化。
日前,Rancher正式发布了Rancher 2.4,其GA版本支持2000个集群和10万个节点。 随着Rancher 2.4产品架构的增强,Rancher将在后续版本中提供支持100万个集群的途径。“我们有信心新一代架构将使我们可以管理数百万个集群。我们将继续验证这个架构,并继续进行规模测试,我们也会与社区分享我们的发现。”Darren Shepherd补充道。
“对比起应用程序,我们更倾向于将Fleet部署的单元称为Bundles。”Darren Shepherd强调:“我们不仅可以管理应用程序部署。更为关键的是,我们可以管理所有可以被描述为Kubernetes资源的东西。”
这一趋势与当前的Kubernetes发展趋势不谋而合。随着业界涌现出越来越多的Kubernetes原生工具,这大大扩展了Fleet可以管理的范围。
目前,除了应用程序部署之外,Fleet的主要用例是管理安全工具和安全策略。诸如OPA和Falco等工具,它们都支持原生Kubernetes API,因此Fleet可以确保你的所有集群的一致性和安全性。
不止于此,我们也一直努力增强我们的K3s、K3OS和系统升级控制器(System Update Controller)。这些工具可以使我们用Kubernetes资源文件来管理集群底层和操作系统。
舰队管理:新场景催生新需求
自K3s面世以来,越来越多的用户将其推广及应用到分布的场景中,Rancher研发团队收到了无数K3s社区用户对于海量集群管理的需求。最终,Rancher决定将这一项目命名为Fleet,因为这一单词极佳地体现出了许多用户所描述的用例的精髓。
另一方面,那些在容器领域深耕了数年的用户可能会发现,Fleet同时也是另一个早期容器领域项目的名字。它是由CoreOS团队在早期构建的容器编排系统,目前已经停止维护,不再更新。
“我一直是它的忠实粉丝,将这一项目命名为Fleet也包含了我的私心。”Darren Shepherd解释道:“所以我希望重新使用Fleet这一名字,这是对这个非常出色的容器领域早期项目的致敬。同时,对于推动Kubernetes集群管理的演进,我们感到十分兴奋及万分期待。”
一切开源,立即体验
Fleet依旧秉承Rancher 100%开源的理念,现已发布Alpha版本之前的原型软件Fleet 0.1,您可以在Github上了解及下载体验。
Github地址:https://github.com/rancher/fleet
关于Rancher Labs
Rancher Labs由CloudStack之父梁胜创建。旗舰产品Rancher是一个开源的企业级Kubernetes管理平台,实现了Kubernetes集群在混合云+本地数据中心的集中部署与管理。Rancher一向因操作体验的直观、极简备受用户青睐,被Forrester评为2018年全球容器管理平台领导厂商,被Gartner评为2017年全球最酷的云基础设施供应商。
目前Rancher在全球拥有超过三亿的核心镜像下载量,并拥有包括中国人寿、华为、中国平安、兴业银行、民生银行、平安证券、海航科技、厦门航空、上汽集团、海尔、米其林、丰田、本田、中船重工、中联重科、迪斯尼、IBM、Cisco、Nvidia、辉瑞制药、西门子、CCTV、中国联通等全球著名企业在内的共40000家企业客户。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
你知道 JS 中的模块导入有一个缺点吗?
云栖号资讯:【点击查看更多行业资讯】在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 1.命名导入和自动完成 假设我信编写了一个简单的JavaScript模块: 模块stringUtils具有导出了一个函数exequalsIgnoreCase,该函数比较两个忽略大小写的字符串。 看起来没啥问题,挺好的。 现在在 app.js 文件中导入函数 exequalsIgnoreCase 我们大多数会这样来引入: 首先,您必须编写导入名称import {}。 在此步骤中,IDE无法提供有关要导入的可用名称的任何建议。 然后,继续写入 from './stringUtils',然后移回大括号并展开自动完成以选择要导入的名称。 尽管 ES6 模块优点很多,但导入模块语法使自动完成功能难以使用。 2.Python 中的模块 现在让我们尝试在 Python 中导入命名组件。它有同样的问题吗? 下面用 Python 实现的相同模块stringUtils和函数equalsIgnoreCase: 在 Python 中,不必显式地指出要导出的函数。 现在,在另一个Python模块app内部,将st...
- 下一篇
Novel 1.4.2 发布,修复 bug
Novel v1.4.2 已发布,更新日志: 修复本地ip获取出现‘0’的问题 修复代码生成出现‘id’排序问题 更新i-icon-picker版本,新版本解决了es6问题 修复菜单添加错误信息未显示问题以及添加错误问题 修复修改密码时,两次密码不一致错误以及dialog未及时清空问题 优化角色菜单树选择功能 Novel 简介 一直想做一款后台管理系统,看了很多优秀的开源项目,从中发现了若依开源框架,从她出现以来就一直关注,但发现其中的功能太过强大,部分功能也不太适合自己,并且自己也一直想要动手学习一下若依的强大之处,便有了自己现在的novel。 它可以用于所有的Web应用程序,如网站管理后台,网站会员中心,CMS,CRM,OA等等,当然,您也可以对她进行深度定制,以做出更强系统。所有前端后台代码封装过后十分精简易上手,出错概率低。同时支持移动客户端访问。系统会陆续更新一些实用功能。 在线体验 后端项目地址:Novel-api 前端项目地址:Novel-vue 演示地址:http://cnovel.club 演示图 用户管理:用户是系统操作者,该功能主要完成系统用户配置。 部门管理:...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS8编译安装MySQL8.0.19
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Hadoop3单机部署,实现最简伪集群
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果