零基礎上手 Knative 應用

作者 | 劉宇(江昱)

前言:Knative 是一款基於 Kubernetes 的 Serverless 框架。其目標是制定雲原生、跨平臺的 Serverless 編排標準。

Knative 介紹

Knative 通過整合容器構建(或者函數)、工作負載管理(動態擴縮)以及事件模型這三者實現其 Serverless 標準。

在 Knative 體系架構下,各角色的協作關係如下圖所示。

在 Knative 體系架構下各角色的協作關係

Knative 部署

本文將會以在阿里雲部署 Kantive 服務爲例,詳細說明如何部署 Knative 相關服務。

首先,登錄到容器服務管理控制檯,如圖所示。

阿里雲容器服務管理控制檯

如沒有集羣,可以先選擇創建集羣,如下圖所示。

配置與創建集羣

創建集羣比較緩慢,耐心等待集羣創建完成,成功之後如圖所示。

集羣創建成功示意圖

進入集羣之後,選擇左側的 “應用”,找到 “Knative” 並點擊 “一鍵部署”,如圖所示。

創建 Knative 應用

稍等片刻,Knative 安裝完成之後,可以看到核心組件已經處於 “已部署” 狀態,如圖所示。

Knative 應用部署完成

至此,我們完成了 Knative 的部署。

體驗測試

首先需要創建一個 EIP,並將其綁定到 API Server 服務上,如下圖所示。

圖爲 API Server 綁定 EIP

完成之後,進行 Serverless 應用的測試。選擇應用中的 “Kantive 應用”,並且在服務管理中選擇 “使用模板創建”,如圖所示。

快速創建示例應用

創建完成之後,可以看到控制檯已經出現一個 Serverless 應用,如圖所示。

示例應用創建成功

此時,我們可以點擊應用名稱查看該應用的詳情,如下圖所示。

查看示例應用詳情

爲了便於測試,可以在本地設置 Host:

101.200.87.158 helloworld-go.default.example.com

設置完成之後,在瀏覽器中打開系統分配的域名,可以看到已經輸出預期的結果,如圖所示。

瀏覽器測試示例應用 

至此,我們完成了一個基於 Knative 的 Serverless 應用的部署和測試。

此時,我們還可以通過 CloudShell 進行集羣的管理等。在集羣列表頁面,選擇通過 CloudShell 進行管理,如圖所示。

集羣管理列表

通過 CloudShell 管理已創建的集羣,如圖所示。

CloudShell 窗口

執行指令:

kubectl get knative

可以看到,剛部署的 Knative 應用,如圖所示。

CloudShell 查看 Knative 應用

關於作者:

劉宇(江昱)國防科技大學電子信息專業在讀博士,阿里雲 Serverless 產品經理,阿里雲 Serverless 雲佈道師,CIO 學院特聘講師。

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/rHMkvTw16qwX033pkeZDGQ