Rancher Rio运行指南:三分钟构建极简MicroPaaS平台
2019年5月21日,业界领先的容器管理软件提供商Rancher Labs(以下简称Rancher)发布了2019年重磅新品Rio,Rio是一个可以在任何符合标准的Kubernetes集群上使用的MicroPaaS平台,由部分Kubernetes自定义资源和一个可选的CLI构成,用户可以轻松地将服务部署到Kubernetes,自动获得持续交付、DNS、HTTPS、路由、监控、自动扩缩容、金丝雀部署、git触发构建等功能。
“Rio所倡导的MicroPaaS理念是超前的,或许在当下它并不容易被大家所认知和理解。但正如一年前我们发布多k8s集群管理功能一样,Rio的极简主义将会把你带进cattle时代的美妙体验。”Rancher大中华区总经理秦小康分享道:“除此之外,Rio可以运行在已有的任何k8s提供的pod或者命名空间上,它构建了完全不依赖底层平台的全新架构,是一款具备划时代意义的产品。”
那么,Rio是一款怎么样的产品,它又有怎样的魅力呢?在本文中,我们将跟随Rancher首席架构师及联合创始人Darren Shepherd的步伐,看如何通过一个现有的Kubernetes集群和Rio CLI,构建专属于Rio的极简世界。
下载CLI
CLI可用于macOS、Windows和Linux,若要在本地系统上安装,请运行以下命令:
curl -sfL https://get.rio.io | sh -
如果您不想通过curl安装,也可以从Github手动安装Rio:
https://github.com/rancher/rio/releases
为Rio设置集群
Rio使用活跃的Kubernetes集群,因此设置KUBECONFIG来指向要安装Rio的集群,并确保选择了正确的命名空间。
(一个小提醒——你也可以通过kubectl --context xxx切换到合适集群进行操作。)
当您准备好后,运行rio isntall,将Rio安装到活跃集群/命名空间当中。
rio install
运行示例服务
rio run https://github.com/rancher/rio-demo
检查运行状态
rio ps
rio console
什么是MicroPaaS?
传统的PaaS平台,向用户“承诺”了一系列理想的功能,但从以往表现上看,PaaS平台一直难以为用户提供真正优质的使用体验。PaaS平台通常是重量级并难以运行的,在企业中需要有大型专用项目来部署它们,还需有专门的团队对其进行管理。PaaS用户经常发现平台有太多的规范和限制,它们可能适用于特定的工作流程,但这未必是开发人员所熟悉的工作流程。
Rio来自Rancher的一系列项目(k3s、k3OS),这些项目均专注于轻量级、简单且灵活的基于Kubernetes的项目。Rio的所有功能都经过专门设计,用户可以直接使用默认设置来快速运行和使用Rio,当然也可以根据实际需要来进行灵活的配置、替换或禁用。如果您只想使用Rio当中的一个功能,您可以只使用这一功能并忽略其余功能。这一切都是允许发生的,Rio是一个和Kubernetes生态系统紧密结合、并从中汲取了大量资源的平台。
Rio由一些Kubernetes自定义资源、一个可选的CLI和一个集群中运行的控制器组成,在集群中运行Rio,与在集群中运行其他应用的方法及体验并没有什么不同。
Rio Run
仅需单个命令,您就可以运行一个生产级的服务:
rio run https://github.com/rancher/rio-demo
首先,您的服务将自动获得有效的DNS名称。即使您是在笔记本电脑上运作Kubernetes,这个功能也一样可以工作。有了DNS名称之后,Rio也会请求并为您的服务分配生产Let's Encrypt证书。所有服务默认以HTTPS方式进行。
Rio包含一个集成的服务网格,因此所有Rio的服务中包含Prometheus和Grafana,默认情况下会收集HTTP级别的指标。
通过收集HTTP级指标,Rio可以使用基于并发的扩展来自动调整您的服务。默认情况下,并发数设置为10,因此,如果Rio中有30个并发请求,则会将您的服务自动调整为3。Rio甚至可以将您的服务规模设置为0。这意味着在第一个请求进入之前,不会运行任何pod。
如果您让Rio运行一个git位置,它会在git中监控和部署变更。人们仍然可以提供直接运行的Docker镜像,但是git提供了一个简单的连续部署流程。Git位置必须从源代码构建一个Docker镜像。默认情况下,我们运行基于Dockerfile的构建。使用多阶段Dockerfile构建的方法十分灵活。其他模板可用于构建,以启用诸如buildpacks或OpenFaaS模板等功能。
Rio由服务网格提供支持,可以轻松地进行金丝雀部署,当推送新的git提交时,将自动构建新的服务修订版并部署新的修订版,一旦修订准备就绪,我们就可以通过将权重从预设修订版转移到新修订版,自动为新服务提供流量。
所有这些功能以及更多功能,都可以从一个简单的rio run命令中获得。
一切开源,欢迎使用
Rio官网主页现已上线,您可以访问官网主页了解Rio的更多信息:https://rio.io/
同时,欢迎通过GitHub下载Rio并使用安装:
https://github.com/rancher/rio/releases
需要协助部署和管理Rio的企业,请邮件联系:
info@rancher.com
About Rancher Labs
Rancher Labs由CloudStack之父梁胜创建。旗舰产品Rancher是一个开源的企业级Kubernetes管理平台,实现了Kubernetes集群在混合云+本地数据中心的集中部署与管理。Rancher一向因操作体验的直观、极简备受用户青睐,被Forrester评为2018年全球容器管理平台领导厂商,被Gartner评为2018年全球最酷的云基础设施供应商。
目前Rancher在全球拥有超过一亿的下载量,并拥有包括中国人寿、华为、中国平安、兴业银行、民生银行、平安证券、海航科技、厦门航空、上汽集团、海尔、米其林、丰田、本田、中船重工、中联重科、迪斯尼、IBM、Cisco、Nvidia、辉瑞制药、西门子、CCTV、中国联通、等全球著名企业在内的共25000家企业客户。
推荐阅读
点击阅读原文,锁定大会席位!