在Knative中使用ASM網(wǎng)關(guān)
在大規(guī)模分布式系統(tǒng)、微服務(wù)應(yīng)用流量管理等場(chǎng)景下,特別是已采用或計(jì)劃采用Istio作為服務(wù)網(wǎng)格框架的業(yè)務(wù)場(chǎng)景中,推薦您使用ASM網(wǎng)關(guān)實(shí)現(xiàn)Knative服務(wù)的流量分發(fā)和路由。ASM網(wǎng)關(guān)兼容社區(qū)Istio規(guī)范,控制面組件由ACK托管,簡(jiǎn)化了服務(wù)治理,包括服務(wù)調(diào)用之間的流量路由與拆分管理、服務(wù)間通信的認(rèn)證安全以及網(wǎng)格的可觀測(cè)性能力。
前提條件
已創(chuàng)建ASM實(shí)例,且ASM實(shí)例版本為1.21.6.84及以上,請(qǐng)參見創(chuàng)建ASM實(shí)例。
創(chuàng)建ASM實(shí)例時(shí),在Kubernetes集群區(qū)域,將已創(chuàng)建的ACK托管集群或ACK Serverless集群添加到ASM實(shí)例中,并選中啟用數(shù)據(jù)面集群KubeAPI訪問Istio資源。
步驟一:部署Knative時(shí)選擇ASM為服務(wù)網(wǎng)關(guān)
登錄容器服務(wù)管理控制臺(tái),在左側(cè)導(dǎo)航欄選擇集群。
在集群列表頁(yè)面,單擊目標(biāo)集群名稱,然后在左側(cè)導(dǎo)航欄,選擇 。
在Knative頁(yè)面的組件管理頁(yè)簽下,單擊一鍵部署Knative,然后在服務(wù)網(wǎng)關(guān)處選擇ASM,然后單擊一鍵部署。
部署成功后,可在Knative中使用服務(wù)網(wǎng)格ASM。
步驟二:通過ASM入口網(wǎng)關(guān)訪問部署的服務(wù)
本小節(jié)結(jié)合一個(gè)Knative Service示例演示如何通過ASM完成服務(wù)部署。
登錄容器服務(wù)管理控制臺(tái),在左側(cè)導(dǎo)航欄選擇集群。
在集群列表頁(yè)面,單擊目標(biāo)集群名稱,然后在左側(cè)導(dǎo)航欄,選擇 。
在Knative頁(yè)面的服務(wù)管理頁(yè)簽,選擇命名空間為default,單擊使用模板創(chuàng)建,將以下YAML示例粘貼至模板,然后單擊創(chuàng)建,創(chuàng)建一個(gè)名為helloworld-go的服務(wù)。
重要請(qǐng)將下方代碼中的
{REGION-ID}
替換為您集群的所在地域(例如cn-beijing
),以確保可以正確訪問和使用鏡像。apiVersion: serving.knative.dev/v1 kind: Service metadata: name: helloworld-go spec: template: spec: containers: - image: registry.{REGION-ID}.aliyuncs.com/knative-sample/helloworld-go:73fbdd56 # 請(qǐng)將{REGION-ID}替換為您集群所在地域。 env: - name: TARGET value: "Knative"
在服務(wù)管理頁(yè)面的訪問網(wǎng)關(guān)列,獲取helloworld-go服務(wù)的網(wǎng)關(guān)地址。
執(zhí)行以下命令,訪問helloworld-go服務(wù)。
curl -H "host: helloworld-go.default.example.com" http://39.XX.XX.XX # 網(wǎng)關(guān)的IP和域名請(qǐng)以您的實(shí)際數(shù)據(jù)為準(zhǔn)。
預(yù)期輸出:
Hello Knative!
預(yù)期輸出表明,服務(wù)訪問成功。
(可選)步驟三:查看服務(wù)監(jiān)控?cái)?shù)據(jù)
Knative提供開箱即用的可觀測(cè)能力,在Knative頁(yè)面,單擊監(jiān)控大盤頁(yè)簽,即可查看目標(biāo)Knative服務(wù)的監(jiān)控?cái)?shù)據(jù)情況。如何開啟Knative監(jiān)控大盤,請(qǐng)參見查看Knative服務(wù)監(jiān)控大盤。
相關(guān)文檔
您可以為Knative服務(wù)啟用自定義域名,請(qǐng)參見使用自定義域名。
您可以為Knative服務(wù)配置HTTPS證書訪問,請(qǐng)參見配置HTTPS證書訪問。
您可以在Knative中部署gRPC服務(wù),提升網(wǎng)絡(luò)效率,請(qǐng)參見在Knative中部署gRPC服務(wù)。
您可以配置探針(Probe),監(jiān)測(cè)Knative服務(wù)的健康狀態(tài)和可用性,請(qǐng)參見在Knative中配置端口探測(cè)。
如果您的ECI實(shí)例有連接公網(wǎng)的需求,您需要綁定EIP,請(qǐng)參見為ECI綁定EIP實(shí)現(xiàn)公網(wǎng)訪問。