timzaak / blog

8 stars 1 forks source link

K8S 和 FAAS #64

Closed timzaak closed 3 years ago

timzaak commented 3 years ago

目前主流的 有 openfass、krustlet、 knative、 fission

krustlet 目标是提供运行 wasm 的 kubectl,尽可能的复用现有 k8s 的东西。包袱是需要把 wasm 变成 image,并不轻量。尚未 production stable,算是 kubectl 的补充。

openfaas 比较早,提供一整套的 faas runtime 及相关工具。有些重,和现有 k8s 的功能有些重复。

knative 最核心的两个组件 serving + eventing,其他的可以是现有的 k8s 组件。 serving 可提供 cronjob + http 之类的简单服务。路由网络、event 持久化 需要第三方 support。 对 tls 安全相关的会有强支持,估计后面是方便做多租户。路由网络可以不使用 istio,而是 Gloo。 mink 是 knative 的最小发行版。

fission 比 knative 更多一步,增加了 enviroment 概念,用来ignore image, 能更轻量的执行脚本。并提供管理脚本的工具。istio 可选。

简单比较来看 fission 会符合我的需求。但 knative 会有更光明的前途,期望谁能在knative 上叠加 类似 fission 的 enviroment 以及相关脚本管理程序。

timzaak commented 3 years ago

knative 更像是加了 发布订阅+ 路由自动化+负载自动化 的高级版 helm+operator,没有脚本执行runtime+管理,如果有人搞了这个就可以完全不用考虑 fission。 另外,看 fission,方向是更纯粹的 serverless。定位和 knative 不一样,直接集成 cicd + runtime 配置,研发只需要在他的sdk 下写脚本就好了。剩下打包之类的它来搞定。

timzaak commented 3 years ago

Flink 推出了 Stateful Function,但目前看来对标的应该是 akka cluster。