Serverless 工程實踐|零基礎上手 Knative 應用
Knative 介紹
Knative 通過整合容器構建(或者函式)、工作負載管理(動態擴縮)以及事件模型這三者實現其 Serverless 標準。
在 Knative 體系架構下,各角色的協作關係如下圖所示。
開發者是指 Serverless 服務的開發人員可以直接使用原生 Kubernetes API 基於 Knative 部署 Serverless 服務。
貢獻者主要是指社群的貢獻者。
Knative 可以被整合到支援的環境中,例如雲廠商或者企業內部。目前,Knative 是基於Kubernetes來實現的,所以可以認為有 Kubernetes 的地方就可以部署 Knative。
使用者指終端使用者,其通過Istio閘道器訪問服務或者事件系統觸發 Knative 中的 Serverless 服務。
作為一個通用的 Serverless 框架,Knative 由 3 個核心元件組成。
Tekton:提供從原始碼到映象的通用構建能力。Tekton 元件主要負責從程式碼倉庫獲取原始碼並編譯成映象,推送到映象倉庫。所有這些操作都是在 Kubernetes Pod 中進行的。
Eventing:提供事件的接入、觸發等一整套事件管理能力。Eventing 元件針對 Serverless 事件驅動模式做了一套完整的設計,包括外部事件源的接入、事件註冊、訂閱以及事件過濾等功能。事件模型可以有效地解耦生產者和消費者的依賴關係。生產者可以在消費者啟動之前生成事件,消費者也可以在生產者啟動之前監聽事件。
在 Knative 體系架構下各角色的協作關係
Serving:管理 Serverless 工作負載,可以和事件很好地結合,並且提供了基於請求驅動的自動伸縮能力,而且在沒有服務需要處理的時候可以縮容到零。Serving 元件的職責是管理工作負載以對外提供服務。Serving 元件最重要的特性就是自動伸縮的能力。目前,其伸縮邊界無限制。Serving 還具有灰度釋出能力。
Knative 部署
本文將會以在阿里雲部署 Kantive 服務為例,詳細說明如何部署 Knative 相關服務。首先,登入到容器服務管理控制檯,如圖所示。
阿里雲容器服務管理控制檯
如沒有叢集,可以先選擇建立叢集,如下圖所示。
配置與建立叢集
建立叢集比較緩慢,耐心等待叢集建立完成,成功之後如圖所示。
叢集建立成功示意圖
進入叢集之後,選擇左側的“應用”,找到 “Knative” 並點選“一鍵部署”,如圖所示。
建立 Knative 應用
稍等片刻,Knative 安裝完成之後,可以看到核心元件已經處於“已部署”狀態,如圖所示。
Knative 應用部署完成
至此,我們完成了 Knative 的部署。
體驗測試
首先需要建立一個 EIP,並將其繫結到 API Server 服務上,如下圖所示。
快速建立示例應用
建立完成之後,可以看到控制檯已經出現一個 Serverless 應用,如圖所示。
示例應用建立成功
此時,我們可以點選應用名稱檢視該應用的詳情,如下圖所示。
檢視示例應用詳情
為了便於測試,可以在本地設定 Host:
101.200.87.158 helloworld-go.default.example.com
設定完成之後,在瀏覽器中開啟系統分配的域名,可以看到已經輸出預期的結果,如圖所示。
瀏覽器測試示例應用
至此,我們完成了一個基於 Knative 的 Serverless 應用的部署和測試。
此時,我們還可以通過 CloudShell 進行叢集的管理等。在叢集列表頁面,選擇通過 CloudShell 進行管理,如圖所示。
叢集管理列表
通過 CloudShell 管理已建立的叢集,如圖所示。
CloudShell 視窗
執行指令:
kubectl get knative
可以看到,剛部署的 Knative 應用,如圖所示。
CloudShell 檢視 Knative 應用
- 盤點一下三大運營商的槽點,三大運營商最狠的吐槽
- 智慧城市中 5G 和物聯網的未來
- 運營商要不要向大型網際網路企業收網路建設費用?
- 為什麼 5G專用網路對企業數字化轉型至關重要
- 有關Http持久連線的一切,卷給你看
- 管理不斷增長的API組合
- 網路電纜管理的四個優秀做法
- 運營商佈局元宇宙:輸贏都不會虧的好生意
- 擼了一個可除錯 gRPC 的 GUI客戶端
- 運營商入局元宇宙,它會成為新的業務增長點嗎?
- Meta和微軟整合Workplace和Teams 將提供新功能
- 全國5G終端使用者超4億,為什麼我們對5G仍“無感”?
- 5G技術賦能智慧交通,運營商加料做大蛋糕
- 網頁抓取和網頁爬取的區別
- DevOps的價值流優化–完整指南
- Wi-Fi中MU-MIMO的10個限制
- 四大通訊運營商在農村或通過資源對等交換 實現異網漫遊免費結算
- 不會NAT做不好網工
- 你被手機套餐“坑”過嗎?該向運營商說“不”了
- 今年,5G網路的連線數有望增加兩倍