在Web服務託管、Serverless應用部署、AI任務、事件驅動等情境下,推薦您通過Knative服務的形式部署工作負載。使用Knative服務時,您可以隨時按需使用資源,更聚焦於商務邏輯的開發,享用Knative帶來的基於請求的自動彈性、在沒有流量時將執行個體數量自動縮容至0、簡化多版本管理等特性。
前提條件
已在叢集中部署Knative,請參見部署Knative。
步驟一:部署Knative服務
登入Container Service管理主控台,在左側導覽列選擇叢集。
在叢集列表頁面,單擊目的地組群名稱,然後在左側導覽列,選擇 。
單擊服務管理頁簽,在服務管理頁面頂部選擇服務所屬的命名空間。然後部署Knative服務。
您可以通過控制台介面或YAML兩種方式部署服務。
控制台
在服務管理頁面的右上方,單擊建立服務,按照頁面指引完成參數的配置。
配置項
說明
服務名稱
自訂該服務的名稱。
鏡像名稱
單擊選擇鏡像,在彈出的對話方塊選擇所需的鏡像。您也可以填寫私人registry,填寫的格式為
domainname/namespace/imagename:tag
。本例中為
registry.cn-hangzhou.aliyuncs.com/knative-sample/helloworld-go
。鏡像版本
單擊選擇鏡像版本。本例中為73fbdd56。
訪問協議
支援HTTP和gRPC兩種訪問協議。
容器連接埠
設定暴露的容器訪問連接埠,連接埠號碼必須介於1~65535。
進階設定
單擊進階設定,設定相關配置項。
YAML
在服務管理頁面的右上方,單擊使用模板建立。
將需要部署服務的YAML編寫至模板,然後單擊建立。
例如將如下YAML粘貼至模板,建立一個名為
helloworld-go
的服務。apiVersion: serving.knative.dev/v1 kind: Service metadata: name: helloworld-go spec: template: spec: containers: - image: registry-vpc.cn-beijing.aliyuncs.com/knative-sample/helloworld-go:73fbdd56 env: - name: TARGET value: "Knative"
服務建立完成後,您可以在服務管理頁簽查看建立的服務,並對服務進行查看、編輯或刪除操作。
步驟二:訪問服務
Knative服務建立完成後,您可以綁定Host網域名稱與訪問網關,直接存取服務地址。
在服務管理頁簽,單擊服務名稱。
您可以在Knative服務詳情頁的基本資料地區,查看訪問網關及網域名稱。
將訪問網關地址與需要訪問的網域名稱進行Host綁定,在Hosts檔案中添加綁定資訊。
綁定樣本如下。
121.xx.xxx.xx helloworld-go.default.example.com
通過網域名稱直接對服務進行訪問。
相關文檔
您也可以為Knative服務啟用自訂網域名,請參見使用自訂網域名。
關於如何為Knative服務配置HTTPS認證訪問,請參見配置HTTPS認證訪問。
您可以通過建立Revision版本,對Knative服務進行版本管理,請參見建立修訂版本。
如果您的業務有不易提前預測的瞬時波峰,推薦您使用ECI資源部署Knative服務,請參見使用ECI資源。
關於如何基於流量請求數實現Knative服務的自動擴縮容,請參見基於流量請求數實現服務自動擴縮容。
關於如何部署Knative Eventing組件並實現Knative的事件驅動,請參見Knative事件驅動。