導(dǎo)讀:在實(shí)際應(yīng)用中,通過(guò) APIGateway(即 API 網(wǎng)關(guān)),可以為內(nèi)部服務(wù)提供保護(hù)、提供統(tǒng)一的鑒權(quán)管理、限流、監(jiān)控等能力,開(kāi)發(fā)人員只需要關(guān)注內(nèi)部服務(wù)的業(yè)務(wù)邏輯即可。作者元毅在本文中將會(huì)為大家介紹:如何通過(guò)阿里云 API 網(wǎng)關(guān)以及內(nèi)網(wǎng) SLB,將 Knative 服務(wù)對(duì)外發(fā)布,以打造生產(chǎn)級(jí)別的 Knative 服務(wù)。
成都創(chuàng)新互聯(lián)主要從事網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)峨山縣,10余年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專(zhuān)業(yè),歡迎來(lái)電咨詢(xún)建站服務(wù):18980820575
阿里云 API 網(wǎng)關(guān)為您提供完整的 API 托管服務(wù),輔助用戶(hù)將能力、服務(wù)、數(shù)據(jù)以 API 的形式開(kāi)放給合作伙伴,也可以發(fā)布到 API 市場(chǎng)供更多的開(kāi)發(fā)者采購(gòu)使用。
提供防重放、請(qǐng)求加密、身份認(rèn)證、權(quán)限管理、流量控制等多重手段保證 API 安全,降低 API 開(kāi)放風(fēng)險(xiǎn)
提供 API 定義、測(cè)試、發(fā)布、下線等全生命周期管理,并生成 SDK、API 說(shuō)明文檔,提升 API 管理、迭代的效率
提供便捷的監(jiān)控、報(bào)警、分析、API 市場(chǎng)等運(yùn)維、運(yùn)營(yíng)工具,降低 API 運(yùn)營(yíng)、維護(hù)成本
創(chuàng)建內(nèi)網(wǎng) SLB,綁定 Istio 網(wǎng)關(guān)應(yīng)用。可以直接通過(guò)下面的 yaml 創(chuàng)建內(nèi)網(wǎng) SLB:
apiVersion:?v1 kind:?Service metadata: ??annotations: ????service.beta.kubernetes.io/alicloud-loadbalancer-address-type:?"intranet" ??labels: ????app:?istio-ingressgateway ????istio:?ingressgateway ??name:?istio-ingressgateway-intranet ??namespace:?istio-system spec: ??externalTrafficPolicy:?Cluster ??ports: ??-?name:?status-port ????port:?15020 ????protocol:?TCP ????targetPort:?15020 ??-?name:?http2 ????port:?80 ????protocol:?TCP ????targetPort:?80 ??-?name:?https ????port:?443 ????protocol:?TCP ????targetPort:?443 ??-?name:?tls ????port:?15443 ????protocol:?TCP ????targetPort:?15443 ??selector: ????app:?istio-ingressgateway ????istio:?ingressgateway ??sessionAffinity:?None??type:?LoadBalancer
創(chuàng)建完成之后,可以在登錄?阿里云容器服務(wù)控制臺(tái),進(jìn)入 【路由和工作負(fù)載】菜單,選擇??istio-system
?命名空間,可以查看到所創(chuàng)建的內(nèi)網(wǎng) SLB 信息:
cdn.com/78bff1a3cc99c8b6c4599b956e29065ba82138de.png">
此處內(nèi)網(wǎng) SLB 地址為:192.168.0.23
登錄阿里云容器服務(wù)控制臺(tái),?創(chuàng)建 Knative 服務(wù)。?
這里我們創(chuàng)建 helloworld 服務(wù),如圖所示:
驗(yàn)證一下服務(wù)是否可以訪問(wèn):
[root@iZbp1c1wa320d487jdm78aZ?~]#?curl?-H?"Host:helloworld.default.example.com"?http://192.168.0.23Hello?World!
接下來(lái)進(jìn)入重頭戲,如何配置 API 網(wǎng)關(guān)與 Knative Service 進(jìn)行訪問(wèn)。?
由于 API 需要?dú)w屬分組,我們首先創(chuàng)建分組。登錄?阿里云 API 網(wǎng)關(guān)控制臺(tái),開(kāi)放 API-> 分組管理:
點(diǎn)擊【創(chuàng)建分組】,選擇共享實(shí)例(VPC)。
創(chuàng)建完成之后,我們需要在分組詳情中開(kāi)啟公網(wǎng)域名,以進(jìn)行公網(wǎng)服務(wù)訪問(wèn):可以通過(guò)??1
?開(kāi)啟公網(wǎng)二級(jí)域名進(jìn)行測(cè)試,或者通過(guò)??2
?設(shè)置獨(dú)立域名。
這里我們開(kāi)啟公網(wǎng)二級(jí)域名進(jìn)行測(cè)試訪問(wèn),開(kāi)啟后如圖所示:
由于我們是訪問(wèn) K8s VPC 內(nèi)的服務(wù),需要?jiǎng)?chuàng)建 VPC 授權(quán)。選擇開(kāi)放 API->VPC 授權(quán):
點(diǎn)擊【創(chuàng)建授權(quán)】,設(shè)置 VPC Id 以及內(nèi)網(wǎng) SLB 實(shí)例 Id。這里創(chuàng)建??knative-test
?VPC 授權(quán)。?
創(chuàng)建應(yīng)用用于?阿里云 APP
?身份認(rèn)證。該認(rèn)證要求請(qǐng)求者調(diào)用該 API 時(shí),需通過(guò)對(duì) APP 的身份認(rèn)證。這里我們創(chuàng)建??knative
?應(yīng)用。
登錄阿里云 API 網(wǎng)關(guān)控制臺(tái),開(kāi)放 API->API 列表,選擇【創(chuàng)建 API】。關(guān)于創(chuàng)建 API,詳細(xì)可參考:?創(chuàng)建 API。
接下來(lái)我們輸入【基本信息】。選擇安全認(rèn)證:阿里云 APP;AppCode 認(rèn)證可以選擇:允許 AppCode 認(rèn)證(Header & Query)。具體 AppCode 認(rèn)證方式可以參考:?使用簡(jiǎn)單認(rèn)證(AppCode)方式調(diào)用 API。
點(diǎn)擊下一步,定義 API 請(qǐng)求。協(xié)議可以選擇 HTTP 和 HTTPS, 請(qǐng)求 Path 可設(shè)置??/
。
點(diǎn)擊下一步,定義 API 后端服務(wù)。后端服務(wù)類(lèi)型我們?cè)O(shè)置為 VPC,設(shè)置 VPC 授權(quán)名稱(chēng)等。
設(shè)置?常量參數(shù)
,其中后端參數(shù)名稱(chēng):Host,參數(shù)值:helloworld.default.example.com,參數(shù)位置:Header。
點(diǎn)擊下一步,完成創(chuàng)建。
創(chuàng)建完成之后,可直接進(jìn)行發(fā)布。
選擇??線上
,點(diǎn)擊【發(fā)布】。
發(fā)布完成之后,我們可以在【API 列表】中看到當(dāng)前 API:線上 (運(yùn)行中)。
在調(diào)用 API 測(cè)試之前,我們需要對(duì)該 API 進(jìn)行應(yīng)用授權(quán),進(jìn)入 API 詳情,選擇【授權(quán)信息】。
點(diǎn)擊【添加授權(quán)】,這里我們選擇上面創(chuàng)建的??knative
?應(yīng)用進(jìn)行授權(quán)。
接下來(lái)我們進(jìn)行驗(yàn)證 API,點(diǎn)擊在 API 詳情中,選擇【調(diào)試 API】,點(diǎn)擊【發(fā)送請(qǐng)求】,可以看到測(cè)試結(jié)果信息:
至此,我們通過(guò)阿里云 API 網(wǎng)關(guān)將 Knative 服務(wù)發(fā)布完成。?
鄭州不孕不育醫(yī)院:http://jbk.39.net/yiyuanzaixian/zztjyy/
通過(guò)上面的介紹,相信大家對(duì)如何通過(guò)阿里云 API 網(wǎng)關(guān)將 Knative 服務(wù)對(duì)外發(fā)布有了初步的了解。在實(shí)際生產(chǎn)中我們對(duì) Serverless 服務(wù)的訪問(wèn)安全、流控、監(jiān)控運(yùn)維等要求是不必可少的,而通過(guò)阿里云 API 網(wǎng)關(guān)恰好可以對(duì) Knative 服務(wù)提供保駕護(hù)航能力。通過(guò)阿里云 API 網(wǎng)關(guān)可以對(duì) API 服務(wù)配置:
流量控制
訪問(wèn)鑒權(quán)
日志監(jiān)控
API 全生命周期管理 : 測(cè)試、發(fā)布、下線
正是通過(guò)這些能力,阿里云 API 網(wǎng)關(guān)為 Knative 提供生產(chǎn)級(jí)別的服務(wù)。歡迎有興趣的同學(xué)一起交流。
當(dāng)前題目:基于APIGateway打造生產(chǎn)級(jí)別的Knative
瀏覽路徑:http://www.2m8n56k.cn/article20/iesojo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄、電子商務(wù)、關(guān)鍵詞優(yōu)化、App設(shè)計(jì)、虛擬主機(jī)、ChatGPT
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:[email protected]。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)