Platform9 发布了“Kube2Go”。这是一项基于 web 界面的 Kubernetes 集群部署服务,可被视为该公司近期推出的 Kubernetes 多重云托管服务的补充。此外 Platform9 还公布了名为“Fission”的无服务器框架,同样基于 Kubernetes。
用户可以使用 Platform9 的“ Kube2Go ”部署服务通过 web 界面创建高可用的 Kubernetes 集群,这与业内其他服务(如 Stackpoint 和 KCluster ) 的做法类似。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 Tectonic 、 Google GKE 和 Giant Swarm Microservices Platform 。
Platform9 还发布了 Fission 。这是一款开源的功能即服务(FaaS)“无服务器”框架,构建并运行于 Kubernetes 之上。Fission“仅操作代码”,一般的操作无需考虑 Docker 和 Kubernetes 的基础容器和调度技术,不过如果有必要,在对 Fission 进行扩展时可以使用这些技术。
Fission 的核心以 Go 语言编写,特定语言的组件被隔离在“环境”中。所谓环境其实是一个容器外加一个 web 服务器和动态加载器。这种设计很像 Cloud Foundry 和 Heroku 的“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 )关注我们。
评论