什么是 Kubeless?| 玩转 Kubeless
什么是 Kubeless?
如果你是 Kubernetes 用户,恰好是第一次见到 Kubeless 这个词,想必会有些疑问 Kubeless 是什么呢?
它的名字和 Kubernetes 前几个字母相同,应该会和 kubernetes 有关系吧?
没错,Kubeless 号称是 Kubernetes 原生的 Serverless 框架,它可以让你部署函数代码,而不用关心基础环境的问题。
它使用 Kubernetes 资源(CRD)来提供自动伸缩、路由、监控和故障排除。
你只需要创建函数,Kubeless 可以让你在 Kubernetes 的容器中动态部署函数,函数可以通过 HTTP 或其他事件触发。
Kubeless 前世今生
Kubeless 由 Bitnami 创立于2016年,其实现语言为 Go。
官方网站:https://kubeless.io/
代码仓库:https://github.com/kubeless
目前(2020/09/26)Kubeless 项目在 GitHub 上 Star 数为6k。
从 GitHub Releases 上看,有93个贡献者曾为它提交过代码。
Kubeless 至今(2020/09/26)已经发布了44个版本;其中,2017年发布23次,2018年发布15次,2019年发布4次,2020年发布2次。
从代码提交趋势来看,2017年和2018年代码提交量多次达到高峰,2019年后代码提交量明显下降。
从另一方面,这也说明 Kubeless 比较稳定或处于维护状态。
此外,2017年,Bitnami 与 Serverless.com 合作,为流行的 Serverless Framework 开发了 Kubeless 插件。
该插件的代码仓库:https://github.com/serverless/serverless-kubeless。
kubeless-ui
Kubeless 还有一个图形化用户界面,叫做 kubeless-ui。一图胜千言,让我们先一睹为快。
不过令人惋惜的是,kubeless-ui 的 GitHub 仓库显示 kubeless-ui 处于维护状态。
运行时(Runtimes)
截止目前,Kubeless 默认支持的语言有:Golang、Python、NodeJS、Ruby、PHP、.NET 和 Ballerina。
所有的编程语言运行时都以 Docker 容器镜像的方式定义,用户可以通过定制容器镜像的方式开发自定义的运行时以支持其他的编程语言。
Kubeless 运行时代码仓库:https://github.com/kubeless/runtimes。
路线图(RoadMap)
添加更多运行时。
研究其他消息传递总线(例如 SQS,rabbitMQ)
优化函数启动时间
添加分布式跟踪(也许使用 Istio)
下期预告
下期会介绍 kubeless 的环境安装及快速入门。
版权声明: 本文为 InfoQ 作者【donghui2020】的原创文章。
原文链接:【http://xie.infoq.cn/article/98146fb0efa08349278127ba8】。文章转载请联系作者。
评论