Rancher 2.0 Beta现已正式发布!这是在4月底Rancher 2.0 GA之前最重要的里程碑发布,Rancher 2.0主分支现已包含所有关键功能,Rancher Labs团队即将进入最终Beta阶段,将工作焦点放在测试、文档和扩展性上。


自2017年9月Rancher 2.0技术预览版I发布以来,Rancher Labs研发团队持续进行着Rancher 2.0的功能开发和代码重构工作,先后继续发布了Rancher 2.0技术预览版II和III,且收到了来自客户及开源社区的极为积极的反馈。历时一年的Rancher 2.0开发工作正式进入最终阶段,Rancher 2.0 Beta是Rancher 2.0中最后一个主要的功能集


Rancher 2.0是一个企业级Kubernetes平台,能够让你统一管理所有云上的所有Kubernetes发行版以及所有的Kubernetes集群。Rancher 2.0由3个主要组件构成:Rancher Kubernetes引擎(RKE)、统一集群管理(Unitied Cluster Management)和工作负载管理(Workload Management)


Rancher Kubernetes引擎(RKE)


1. 轻量级的Kubernetes安装程序

为方便希望在vSphere集群、裸机服务器以及不支持托管Kubernetes的云提供商上部署Kubernetes的用户,Rancher 2.0中嵌入了RKE。


2. 简单的Kubernetes操作 

Rancher支持Kubernetes集群的持续操作,例如集群升级和etcd备份。


3. 驱动Rancher服务器高可用

Rancher可以安装到现有的Kubernetes集群中,该集群可以是为了运行Rancher服务器而创建的小型RKE集群。

 

统一集群管理


1. 集群和节点管理

不论是由云提供商(谷歌GKE、微软AKS、亚马逊EKS、华为云、阿里云等)托管的Kubernetes集群,还是使用RKE新创建的Kubernetes集群,抑或是从他处导入的现有Kubernetes集群,Rancher 2.0平台均可支持集群和节点的统一管理。


2. 认证

Rancher支持本地认证、Github,以及针对所有GKE、AKS、EKS、RKS、导入集群的AD/LDAP认证。


3. 用户管理

Rancher支持两种默认的用户类型,admin和user,并且可以定义自定义用户类型。


4. 基于角色的访问控制

(Role Based Access Control,RBAC)。Rancher用户可以创建自己的全局集群角色,它可以轻松地分配工作给任何用户,从而管理Kubernetes集群和项目。Rancher包含所有开箱即用的Kubernetes角色,并且还可自定义自己的角色。每个角色都可以分配到全局、集群或者项目层面。


5. 项目和命名空间管理

用户可以创建命名空间并将其分配给项目。“项目”是一种新的Rancher概念,它可以让你对一组命名空间进行分组,并为这些命名空间分配用户权限。


6. Pod安全策略

Rancher 2.0可以让用户创建他们自己的pod安全策略,也可以创建应用于角色的安全策略。


7. Rancher CLI

CLI支持所有主要的Rancher 2.0功能集。


工作负载管理


1. 工作负载UI

Rancher推出了新的工作负载UI,用户可以利用它简单地创建和管理他们的Kubernetes工作负载。


2. Helm目录支持

Rancher 2.0的Catalog(应用程序目录)是建立在Helm charts上的。


3. 告警管理

Rancher 2.0利用Prometheus AlertManager向各种通知器(包括Slack、Email、PagerDuty和Webhooks)发送系统和用户级的告警。


4. 日志管理

Rancher 2.0中安装了Fluentd,来收集写入特定目录的stdout/err输出或日志。Rancher 2.0支持各种日志目标,包括ElasticSearch、Splunk、Syslog和Kafka。


5. CI/CD Pipeline

Rancher 2.0包含一个简单的集成pipeline功能,用户可在项目中创建pipeline来实现持续集成。


从Rancher 1.6迁移到Rancher 2.0


我们最初计划在Rancher 2.0中同时支持Rancher Compose文件和Kubernetes YAML模板。这样一来从Rancher 1.6迁移到Rancher 2.0就会非常简单:你可以将现有的compose文件replay在Rancher 2.0上。


然而不幸的是,我们尝试在Kubernetes上实现完全兼容的Rancher Compose体验时,遇到了巨大的技术挑战。Kubernetes支持许多类似于Cattle的概念。然而,两者之间仍经常存在着重要的差异,这使得转换工作变得非常困难。早期版本的Rancher 2.0 技术预览版I将Rancher Compose结构转换成Pod,绕过了Kubernetes编排。但是根据用户的反馈来看,这并不是最正确的解决方案。相反,我们发现有相当数量的Cattle社区用户对Kubernetes的功能非常感兴趣,而且由于Cattle和Kubernetes之间的相似性,从Rancher Compose创建Kubernetes YAML文件并不太难。


因此,我们决定专注于在Rancher 2.0中单独支持Kubernetes YAML模板,并且开发工具和实践来帮助Cattle用户在Rancher 2.0到Rancher 2.1的这一时间段内迁移到Kubernetes。当然,Rancher Labs会继续提供Rancher 1.6至少一年的支持。随着新兴容器行业的发展,我们也会持续关注Cattle用户社区的需求


整个Rancher 2.0项目的打造过程之中,我们肩负了将Rancher从基于Docker改变为基于Kubernetes的艰巨任务。我们用Go语言重写了所有遗留的Rancher 1.6 Java模块,在此过程中还涉及到了系统中的几乎所有其他模块。Rancher Labs的数十名核心开发人员同时投入到这一项目中。事实上,这么多开发人员能够如此迅速地进行协作和行动,也是Kubernetes平台的模块化和成熟的证明。我们也更加确信,Kubernetes会成为企业应用程序的基础平台。

 

结语

 

Rancher 2.0简洁直观的界面风格及操作体验,将解决业界遗留已久的Kubernetes原生UI易用性不佳以及学习曲线陡峭的问题。而Rancher 2.0创造性的多Kubernetes集群管理功能,更是将解决生产环境中企业用户可能面临的基础设施不同的困境。加之Rancher 2.0带来的监控、日志、CI/CD等一系列拓展功能,可以说,Rancher 2.0为企业在生产环境中落地Kubernetes提供了更加便捷的途径。


秉承Rancher一贯100%开源的风格及理念,你可以直接从GitHub上下载体验Rancher 2.0最新版本:https://github.com/rancher/rancher/releases


Rancher微信公众号后台回复“架构”,可下载Rancher 2.0的架构文档!


想要观看Rancher 2.0的演示、了解更多Rancher 2.0的实际应用?欢迎加入4月19日晚的在线培训:使用Rancher 2.0管理Kubernetes集群