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
评论