知识卡片

在Kubernetes上构建FaaS的两种路径

专业/工作 · 338.a

内容

在Kubernetes之上实现FaaS平台,至少有两种不同重量级的设计路径。[[Knative三大组件的职责划分]] 代表重量级路径——引入Tekton、Eventing、Serving三个独立组件分别接管构建、事件、伸缩,本质是在 K8s之上再造一层完整的Serverless标准。Kubeless代表轻量级路径——不新增独立组件,而是把”函数” 本身定义成Kubernetes的CRD(自定义资源),复用K8s原生的调度器、声明式管理和控制器模式来管理函数 的生命周期,函数最终仍以容器形式运行在集群里。发散:这个对比说明”在已有平台上加一层新能力”有两种 截然不同的思路——要么新建一套独立体系去覆盖所有场景(Knative),要么把新概念映射成宿主平台已有 的原语去复用其全部基础设施(Kubeless);后者更轻,但能力上限受限于宿主平台原语的表达能力。

参考来源

《Serverless工程实践:从入门到进阶》第5章《从零搭建FaaS平台》