Knative

在以 Kubernetes 為基礎的平台上建構、部署及管理新型無伺服器工作負載。

眾人必備的基礎功能

Knative 最初是由 Google 與 50 多間公司攜手合作建立而成,為 Kubernetes 上的無伺服器應用程式提供一組基本的建構與執行元件。Knative 為 Kubernetes 上的雲端原生應用程式提供了將資源調度降至零、自動調度資源、叢集內建構和事件架構等功能。無論是在內部部署、雲端環境或第三方資料中心,Knative 全都奉行在實際使用上已成功的 Kubernetes 基礎架構所採用的最佳做法。最重要的是,Knative 讓開發人員可以專心撰寫程式碼,不用費心處理「無聊卻困難」的應用程式建構、部署和管理流程。

開發人員方便使用的軟體

Knative 提供一組可重複使用的元件,讓您專門用於解決許多枯燥但困難的工作,例如從原始碼到容器映像檔的應用程式建構工作流程、轉送和管理部署過程中的流量、為您的工作負載自動調整資源配置,或是為執行中的服務與持續成長的事件生態系統建立繫結。Knative 會將容器映像檔識別為部署單元。因此,開發人員可以使用他們熟悉的任何語言、架構或慣用方法。

支援熱門開發模式

Knative 專用於提供開發人員熟悉的體驗,因此支援常見的開發模式,例如 GitOps、DockerOps、ManualOps 與 Django、Ruby on Rails、Spring 等工具和架構。

同時兼顧彈性與可控管性

Knative 在設計上方便插入現有的版本和持續整合/持續推送軟體更新工具鏈。透過優先使用能在任何地方、任何雲端與任何 Kubernetes 基礎架構上執行的開放原始碼技術,因此能讓企業自由將工作負載移動至執行效果最好的位置。如此一來,客戶就能享有彈性控管能力,得以根據自身的特殊需求來調整系統。

依照您自己的需求執行無伺服器工作負載

Knative 提供開放式 API 和執行階段環境,可讓您從任何自選位置執行無伺服器工作負載,包括全代管 Google Cloud、Google Kubernetes Engine (GKE) 或您的 Kubernetes 叢集。Knative 可讓您輕鬆選擇在 Cloud Run 中執行,並於日後移轉至 Cloud Run on GKE,或是在您自己的 Kubernetes 叢集中執行,並於日後遷移至 Cloud Run。只要將 Knative 做為基礎平台使用,您就能跨平台自由移動工作負載,同時大幅降低切換費用。

Knative 元件

建構

  • 用於將原始碼建構至容器的可設定彈性方法

  • 以 Dockerfile 或已建構範本為基礎的插入式方法

  • 不需要跨平台程式碼編譯,也不需要本機建構工具

  • 支援快取成果,加快建構速度

  • 允許機構利用備用容量提高資源使用效率

提供內容

  • 更高層級的抽象層,易於理解物件模型

  • 根據 HTTP 要求流暢地自動調度資源

  • 逐步推出新的修訂版本

  • 自動整合網路和服務網格

  • 插入式架構:可連結您自己的記錄與監控平台

事件

  • 通用的事件訂閱、提交和管理方式

  • 使用高層級物件建構結構鬆散的事件導向系統

  • 事件產生器和事件取用服務之間的陳述式繫結

  • 可從些許事件擴充至即時串流

  • 自訂要連結至現有系統的事件管道

Knative 讓我們的開發人員能專注於建構商業邏輯,而不是擔心如何執行建構、部署、自動調度資源、監控和資源掌控等低階平台功能。例如,我們使用 Java/Vert.x 開發的 T-Mobile 店家搜尋器應用程式,能夠透過 Knative 輕鬆遷移至 GCP。我們之所以能迅速完成遷移,是因為 Knative 提供了大量的平台級功能,讓開發人員省去不少麻煩。

- T-Mobile 首席技術架構設計師 Ram Gopinathan

資源

社群資源

Google Cloud

開始使用

使用 Knative 建構、部署及管理無伺服器工作負載

按照 Cloud Run 快速入門導覽課程啟動及執行 Knative。如果您是想提供 Knative 環境的營運人員,請參閱 GitHub 中的安裝指南。