快速部署Serverless應(yīng)用
在Knative中服務(wù)代表應(yīng)用的概念,本文主要為您介紹如何創(chuàng)建Knative服務(wù)。
前提條件
步驟一:部署Knative服務(wù)
登錄容器服務(wù)管理控制臺(tái),在左側(cè)導(dǎo)航欄選擇集群。
在集群列表頁(yè)面,單擊目標(biāo)集群名稱(chēng),然后在左側(cè)導(dǎo)航欄,選擇 。
單擊服務(wù)管理頁(yè)簽,在服務(wù)管理頁(yè)面頂部選擇服務(wù)所屬的命名空間。然后部署Knative服務(wù)。
支持交互式部署和YAML部署兩種方式部署服務(wù),您可按需選擇。
方式一:交互式部署
在服務(wù)管理頁(yè)面的右上角,單擊創(chuàng)建服務(wù)。
配置項(xiàng)
說(shuō)明
服務(wù)名稱(chēng)
自定義該服務(wù)的名稱(chēng)。
鏡像名稱(chēng)
您可以單擊選擇鏡像,在彈出的對(duì)話(huà)框中選擇所需的鏡像并單擊確定。您還可以填寫(xiě)私有registry。填寫(xiě)的格式為domainname/namespace/imagename:tag。
本例中為registry.cn-hangzhou.aliyuncs.com/knative-sample/helloworld-go。
鏡像版本
您可以單擊選擇鏡像版本。本例中為73fbdd56。
訪問(wèn)協(xié)議
支持HTTP和gRPC兩種訪問(wèn)協(xié)議。
容器端口
設(shè)置暴露的容器訪問(wèn)端口,端口號(hào)必須介于1~65535。
高級(jí)設(shè)置
單擊高級(jí)設(shè)置,設(shè)置相關(guān)配置項(xiàng)。
僅內(nèi)部訪問(wèn):選中僅內(nèi)部訪問(wèn)后,不支持通過(guò)公網(wǎng)訪問(wèn)該服務(wù)。
請(qǐng)求最大并發(fā)數(shù):容器允許的最大請(qǐng)求并發(fā)數(shù)。默認(rèn)0,表示不限制并發(fā)數(shù)。
最小縮容實(shí)例數(shù):在無(wú)訪問(wèn)請(qǐng)求的情況下,最小縮容的運(yùn)行實(shí)例數(shù)。設(shè)置為0時(shí),表示沒(méi)有訪問(wèn)請(qǐng)求時(shí),實(shí)例縮為0。
最大擴(kuò)容實(shí)例數(shù):允許擴(kuò)容出來(lái)的最多實(shí)例個(gè)數(shù)。
資源限制:可指定該應(yīng)用所能使用的資源上限,包括CPU、內(nèi)存和GPU三種資源,防止占用過(guò)多資源。其中,CPU資源的單位為cores,即一個(gè)核;內(nèi)存的單位為Bytes,可以為MiB。
生命周期:包含命令(Command)和參數(shù)(Args),配置說(shuō)明如下:
如果均不配置,則使用鏡像默認(rèn)的命令和參數(shù)。
如果僅配置參數(shù),則使用鏡像默認(rèn)的命令及新配置的參數(shù)。
如果均配置,則會(huì)覆蓋鏡像默認(rèn)的配置。
環(huán)境變量:支持通過(guò)鍵值對(duì)的形式配置環(huán)境變量。
數(shù)據(jù)卷:支持增加本地存儲(chǔ)和云存儲(chǔ)聲明(PVC)。
本地存儲(chǔ):支持主機(jī)目錄(hostpath)、配置項(xiàng)(configmap)、保密字典(secret)和臨時(shí)目錄,將對(duì)應(yīng)的掛載源掛載到容器路徑中。更多信息參見(jiàn)volumes。
云存儲(chǔ)聲明(PVC):支持云存儲(chǔ)。
單擊創(chuàng)建。
創(chuàng)建完成后,您可以在服務(wù)管理頁(yè)簽的列表中,看到新創(chuàng)建的服務(wù)。
方式二:YAML部署
在服務(wù)管理頁(yè)面的右上角,單擊使用模板創(chuàng)建。
將需要部署服務(wù)的YAML編寫(xiě)至模板,然后單擊創(chuàng)建。
例如將如下YAML粘貼至模板,創(chuàng)建一個(gè)名為
helloworld-go
的服務(wù)。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"
服務(wù)創(chuàng)建完成后,您可以在服務(wù)管理頁(yè)簽對(duì)服務(wù)進(jìn)行查看、編輯或刪除操作。
步驟二:訪問(wèn)服務(wù)
Knative服務(wù)創(chuàng)建完成后,通過(guò)綁定Host域名與訪問(wèn)網(wǎng)關(guān),可以直接訪問(wèn)服務(wù)地址。操作步驟如下:
在服務(wù)管理頁(yè)簽,單擊服務(wù)名稱(chēng)。
您可以在Knative服務(wù)詳情頁(yè)的基本信息區(qū)域,查看訪問(wèn)網(wǎng)關(guān)及域名。
將訪問(wèn)網(wǎng)關(guān)地址與需要訪問(wèn)的域名進(jìn)行Host綁定,在Hosts文件中添加綁定信息。
綁定樣例如下。
121.xx.xxx.xx helloworld-go.default.example.com
完成Host綁定后,可通過(guò)域名直接對(duì)服務(wù)進(jìn)行訪問(wèn)。