基於 Kubernetes 與 Istio 的 Serverless 架構方案 Knative

Knative(發音為 kay-nay-tiv)是谷歌開源的一套 Serverless 架構方案,它擴展了 Kubernetes,提供了一組中間件,提高了構建可在本地、雲和第三方數據中心等地方運行的現代化、以源為中心且基於容器的應用的能力。

目前已經提供了以下組件:

Build - 源到容器的構建編排Eventing - 事件管理和交付Serving - 請求驅動的計算

Knative 專注於解決容器為核心的 Serverless 應用的構建、部署和運行的問題,它構建在 Kubernetes 和 Istio 平臺之上,整合了 Kubernetes 提供的 deployment、replicaset 和 pods 等容器管理能力,與 Istio 提供的 ingress、LB、dynamic route 等網絡管理功能。

具體來說,Knative 組件將解決如下一系列問題:

Deploying a containerOrchestrating source-to-URL workflows on KubernetesRouting and managing traffic with blue/green deploymentAutomatic scaling and sizing workloads based on demandBinding running services to eventing ecosystems

Knative 的開發人員可以使用熟悉的語言、框架和方式來部署任何工作負載,包括函數、應用與容器。