BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Platform9推出“Kube2Go”及“Fission”无服务器框架

| 作者 Daniel Bryant 关注 738 他的粉丝 ,译者 王强 关注 1 他的粉丝 发布于 2017年3月24日. 估计阅读时间: 7 分钟 | CNUTCon 了解国内外一线大厂50+智能运维最新实践案例。

Platform9发布了“Kube2Go”。这是一项基于web界面的Kubernetes集群部署服务,可被视为该公司近期推出的Kubernetes多重云托管服务的补充。此外Platform9还公布了名为“Fission”的无服务器框架,同样基于Kubernetes。

用户可以使用Platform9的“Kube2Go”部署服务通过web界面创建高可用的Kubernetes集群,这与业内其他服务(如StackpointKCluster)的做法类似。Kube2Go目前只支持部署到基于AWS(亚马逊云)的云环境中,但根据项目博客的声明,未来其将加入对微软Azure和谷歌云平台的支持。

使用“kops”命令行工具可以手动部署一个“生产级”的Kubernetes集群,但在集群的生命周期中用户都需要自行管理。管理Kubernetes集群是一项复杂的任务,因此该行业出现了一些基于SaaS(软件即服务)的托管服务。例如Kube2Go就是对Platform9公司的Kubernetes托管服务的一种增强,提升了后者的可用性。这项托管服务完全以SaaS解决方案的形式部署和运营。此外根据文档说明,平台管理的所有Kubernetes集群都可以进行跨越本地裸机(on-premise bare metal)和公有云基础设施的部署。

Plaftorm9的Kubernetes托管服务的核心功能包括:

  • “纯净”的Kubernetes:Platform9 Kubernetes托管服务会将开源平台的上游版本打包为SaaS服务。
  • 企业集成:一些Kubernetes的集成会包含在整套服务中:端到端安全、集成SSO(单点登录)的用户配额多租户控制、以及集成外部(云服务商)的持久存储和负载均衡器。
  • 高可用的:Kubernetes托管会创建高可用、多主(multi-master)、多etcd(multi-etcd)的Kubernetes集群。它们可以跨越用户的私有或公有云环境中的不同可用区域。
  • 与OpenStack部署的集成:Kubernetes托管服务可以使用与Platform9的OpenStack托管服务相同的界面接口来运行和管理。

InfoQ最近采访了Platform9的联合创始人兼产品副总裁Madhura Maskasky。他强调这项新托管服务的关键特性是多重云组合:

公有/私有混合云可被视为一种“必要之恶”。因为组织都在设法避免依赖单一服务商,并选择报价各异的厂商来控制成本。纯粹的虚拟技术很难实现上述目的,因此如今容器成为了事实上的部署单元。我们将Kubernetes视为已有的虚拟化技术之上的关键抽象层。

Platform9的Kubernetes托管服务的更多资料请访问官网页面。该领域内其他的Kubernetes托管服务包括:CoreOS TectonicGoogle GKEGiant Swarm Microservices Platform

Platform9还发布了Fission。这是一款开源的功能即服务(FaaS)“无服务器”框架,构建并运行于Kubernetes之上。Fission“仅操作代码”,一般的操作无需考虑Docker和Kubernetes的基础容器和调度技术,不过如果有必要,在对Fission进行扩展时可以使用这些技术。

Fission的核心以Go语言编写,特定语言的组件被隔离在“环境”中。所谓环境其实是一个容器外加一个web服务器和动态加载器。这种设计很像Cloud FoundryHeroku的“bulidpacks”的概念。Fission目前的alpha版本支持NodeJS和Python,很快还会支持更多语言(包括.NET和php7)。开发者亦可创建自己定制的环境。

Fission的“函数”是一段遵循特定接口的代码。其他组件可以将事件映射到函数中以触发它。Fission目前支持HTTP路由、定时器和Kubernetes事件作为事件触发器。为了保持对事件触发的快速响应,Fission
保有一个“热”容器池,池中的容器都包含一个小型动态加载器。当函数被初次调用时(亦即“冷启动”),Fission会选择一个运行中的容器来加载它。根据文档介绍,典型的冷启动延迟大约在100毫秒左右。

Fission的潜在使用场景包括:

  • 部署简单的REST API:无需调整服务器就能创建web与移动应用的后端API。开发者编写函数代码,Fission通过Kubernetes完成部署、路由、扩展和保证可用性。

  • 创建“Bot”和Webhook(钩子):Fission可用于实现Webhook。函数可以映射一个URL触发器,第三方Webhook则指向这个URL。

  • 处理Kubernetes事件:Fission支持基于Kubernetes watch来触发函数。例如,函数可以被配置为观察(watch)某个特定命名空间内所有符合特定标签的pod。这些事件处理函数可以用作简单的监视器。

Fission代码库可以从Fission Github获取。该领域的其他开源项目有Skippbox的kubeless、fabric8的funktion与Apache OpenWhisk

查看英文原文:Platform9 Introduce 'Kube2Go' Alongside Managed Kubernetes and 'Fission' Serverless Framework


感谢薛命灯对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT