使用Knative基於構建、部署、管理serverless應用
作為程式碼開發的原子單元的函式的日益普及進一步增加了整體複雜性,通常在兩個分離的區域建立不同的開發模式:一個用於函式(FaaS),一個用於應用程式(PaaS)。
因此,今天的開發人員不得不擔心與基礎架構相關的問題:例如,映像構建、登錄檔釋出、部署服務、負載平衡、日誌記錄、監視和擴充套件。但是,他們真正想要做的還是編寫程式碼。
介紹Knative
Knative凝聚了Google的許多經驗,這個開源專案也有來自Pivotal、IBM、Red Hat和SAP等公司的貢獻,包括OpenWhisk、riff和Kyma這樣開源的函式即服務的框架社群的合作,他們要麼重新轉換為Knative,要麼消使用來自Knative專案的元件。
它提供了一組構建塊,可在Kubernetes上實現現代的、以原始碼為中心的和基於容器的開發工作負載:
1. 構建 - 原始碼到容器的構建編排
2. 事件 - 管理和交付事件
3. 服務 - 請求驅動的計算,可以縮減到零
Knative總覽
Knative基於明確分離關注點的前提,它允許開發人員和操作人員透過以自定義資源(CRD)的形式定義原始物件來負責應用的開發、部署和管理。下面是它的原始物件:
1. 配置 - 是你的服務所需的狀態,包括程式碼和配置
2. 修訂版 - 表示程式碼和配置的不可變時間點快照
3. 路由 - 將流量分配給服務的修訂版或修訂版
4. 服務 - 是所有上述物件的組合lite版本,以實現簡單的用例
[img index=1]
除了這些物件之外,Knative還定義了用於事件的主要物件......你知道,因為無伺服器,Knative負責解耦事件生成者和使用者,並實現CNCF CloudEvents(v0.1)以簡化事件處理。
Knative 事件結構:
1. 事件源 - 代表事件的生產者(例如GitHub)
2. 事件型別 - 描述不同事件源支援的事件型別(例如,上面提到的GitHub源的Webhook)
3. 事件消費者 - 代表你Action目標(即Knative定義的任何路線)
4. 事件feed - 是將事件型別連線到操作的繫結或配置
[img index=2]
Knative物件模型的這些功能實現說明Knative既易於入門,又能夠解決更高階的用例,特別是當你的解決方案的複雜性增加時。
相關文章
- 基於 Serverless 的部署平臺構建與思考Server
- Serverless 工程實踐 | 零基礎上手 Knative 應用Server
- 使用 IBM Bluemix 構建,部署和管理自定義應用程式IBM
- 基於Serverless架構最新應用場景詳解Server架構
- Knative 助力 XTransfer 加速應用雲原生 Serverless 化Server
- 輕鬆構建基於 Serverless 架構的小程式Server架構
- Knative 實戰:基於 Knative Serverless 技術實現天氣服務-下篇Server
- 如何基於 Redis 構建應用程式元件Redis元件
- 基於 eBPF 的 Serverless 多語言應用監控能力建設eBPFServer
- 使用 Ansible 部署無服務(serverless)應用Server
- 基於Docker和Kubernetes構建的部署管理和叢集管理Docker
- 基於七牛SDK構建的Vue單頁圖片管理應用Vue
- Java應用構建並部署ECSJava
- 基於 EventBridge 構建 SaaS 應用整合方案
- 使用 Serverless Devs 外掛快速部署前端應用Serverdev前端
- 輕鬆搭建基於 Serverless 的 ThinkPHP 應用ServerPHP
- 微服務部署-基於DockerMaven外掛構建映象部署微服務DockerMaven
- Vue-rap 構建基於 Vue 的流應用Vue
- 基於 EventBridge 構建資料庫應用整合資料庫
- 基於 Amazon SageMaker 構建細粒度情感分析應用
- HarmonyOS:基於Web元件構建網路應用(1)Web元件
- Serverless部署應用並使用Cloudflare加速和支援HTTPSServerCloudHTTP
- 使用 webpack 構建應用Web
- Google釋出跨雲Serverless管理平臺KnativeGoServer
- 使用汽車應用庫構建應用
- 基於Kubernetes和Istio的Serverless框架Knative解析之AutoscalerServer框架
- Knative 實戰:一個微服務應用的部署微服務
- 基於SOA構建隨需應變的企業應用薦
- 從零構建一個基於Docker的Laravel應用DockerLaravel
- Knative Serverless 之道:如何 0 運維、低成本實現應用託管?Server運維
- 如何基於 K8S 多租能力構建 Serverless ContainerK8SServerAI
- 使用Knative和Python的構建無伺服器事件驅動的應用 - Ron NagarPython伺服器事件
- 基於 MUI 構建一個具有 90 +頁面的APP應用UIAPP
- 嘗試使用Knative建立一個應用
- 快速搭建基於 Serverless 的 .NET Core 資料庫應用Server資料庫
- 重磅釋出 | Serverless 應用中心:Serverless 應用全生命週期管理平臺Server
- 深度學習 | 如何開發、部署 Serverless 應用?深度學習Server
- 一元建站-基於函式計算 + wordpress 構建 serverless 網站函式Server網站