日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Knative Service 是如何指定端口和协议的

發(fā)布時間:2024/8/23 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Knative Service 是如何指定端口和协议的 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

如果使用 Knative Serving 部署一個 Nginx 你可能會發(fā)現(xiàn)服務起來了,但是無法訪問到 Nginx 中的服務。當然這不是 Nginx 的問題,這是因為 Knative 對 Container 的端口有要求。默認 Nginx 的服務端口是 80 ,而 Knative Serving queue 8012 默認是代理到容器的 8080 端口。所以如果業(yè)務容器監(jiān)聽的不是 8080 端口默認配置就不能對外暴露服務。

注:當然 如果想要監(jiān)聽多個端口也是不行的,雖然容器能夠啟動成功,都是無法通過 Service 暴露服務,從而無法通過 Istio gateway 暴露到外面,所以也就不能提供服務。

當你在查看上述 Spec 定義的時候你可能已經(jīng)注意到了下面這兩行注釋。為什么會保留這幾個端口呢?

下面我通過一張圖來解釋一下 Knative Serving 流量轉(zhuǎn)發(fā)鏈路:

如上圖所示,業(yè)務流量并不是從 Gateway 直接打到業(yè)務容器中的,而是經(jīng)過 queue 容器轉(zhuǎn)發(fā)的。queue 容器默認會監(jiān)聽 8012 和 8013 分別用于轉(zhuǎn)發(fā) http1 的流量和 http2 的流量。具體代碼參見:

queue 容器在創(chuàng)建的時候會設定一個叫做 USER_PORT 的環(huán)境變量,queue 是通過這個環(huán)境變量來獲取應該轉(zhuǎn)發(fā)到業(yè)務容器的哪個端口的。所以只要我們能夠修改 USER_PORT 這個環(huán)境變量我們就能自定義監(jiān)聽端口了。 USER_PORT 是通過 getUserPort 函數(shù)獲取的,具體函數(shù)定義如下:

代碼讀到這里就已經(jīng)很明朗了,創(chuàng)建 Knative Service 的時候可以指定 Ports 端口,然后可以通過端口的 containerPort 字段指定自定義端口。不過需要注意的是 Knative 只支持一個容器端口,所以雖然 Ports 是一個數(shù)組,但也只能設置一個。

實例如下:

apiVersion: serving.knative.dev/v1alpha1 kind: Service metadata:name: wordpress-servingnamespace: default spec:template:metadata:labels:app: wordpressannotations:autoscaling.knative.dev/target: "100"spec:containers:- image: registry.cn-hangzhou.aliyuncs.com/knative-sample/wordpress:5.2-20190524100810ports:- name: http1containerPort: 80env:- name: WORDPRESS_DB_HOSTvalue: rm-2xx.mysql.rds.aliyuncs.com:3306- name: WORDPRESS_DB_USERvalue: wordpress- name: WORDPRESS_DB_PASSWORDvalue: xxximagePullPolicy: Always

上面在分析的過程中提到了 HTTP2 協(xié)議,如果當前提供的是 grpc 類型的服務就需要使用 http2 協(xié)議。

如果使用的是 HTTP2 協(xié)議那么也去請求就需要轉(zhuǎn)發(fā)到 queue 的 8013 端口上,然后由 8013 轉(zhuǎn)發(fā)給容器的業(yè)務端口。那么如何指定我們使用的協(xié)議呢?

在前面的分析中我們得出的結論是通過 port[0].containerPort 來指定自定義端口,其實也可以指定 port[0].name 字段。而 Revision Controller 生成 Deployment 部署服務的時候就是這個 name 字段來判斷應該使用 http1(8012端口) 協(xié)議還是 http2(8013端口) 協(xié)議的。

  • http1 代表使用 http1(8012端口) 協(xié)議,同時 http1 也是默認策略,也就是說如果未指定那么默認也是 http1 協(xié)議
  • h2c 代表使用 http2(8013端口) 協(xié)議

代碼分析如下:

https://github.com/kubedemo/serving/blob/release-0.6/pkg/apis/serving/v1alpha1/revision_lifecycle.go#L104

?

那么怎樣才能指定容器的自定義端口呢?通過查閱代碼可知

https://github.com/kubedemo/serving/blob/release-0.6/pkg/reconciler/serverlessservice/resources/services.go#L32

小結

Knative Service 可以給容器添加 ports 字段,并且 ports 只能設置一個端口。ports 有兩個關鍵字段 Name 和 ContainerPort

ports:- name: http1containerPort: 80
  • name 字段表示使用的協(xié)議,有效值有 http1 和 h2c 兩個,其中:

    • http1 表示使用 http1 協(xié)議,比如 web 服務和 websock 都可以使用 http1
    • grpc 需要設置成 h2c
  • containerPort 字段就是容器提供服務的唯一端口。業(yè)務端口可以設置 1-65535 這個范圍中除了 8012、8013、8022、8091 和 8092 以外的任意端口


阿里云雙11億元補貼提前領,進入抽取iPhone 11 Pro:https://www.aliyun.com/1111/2019/home?utm_content=g_1000083110

原文鏈接
本文為云棲社區(qū)原創(chuàng)內(nèi)容,未經(jīng)允許不得轉(zhuǎn)載。

總結

以上是生活随笔為你收集整理的Knative Service 是如何指定端口和协议的的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 成人三级视频 | 古代玷污糟蹋np高辣h文 | 国产98在线 | 青青草精品视频 | 欧美狠狠操 | 亚洲第九十七页 | 黄色一级在线观看 | 日批在线观看视频 | 精品一二三四 | 亚洲三级在线 | 婷婷精品进入 | 久久久久99人妻一区二区三区 | h片在线看 | 亚洲美女在线播放 | 久久国产视频精品 | 樱桃视频污污 | 日韩爱爱网 | 另类综合在线 | 超碰下载页面 | 日韩成人免费在线观看 | 荫蒂被男人添免费视频 | 欧美日韩理论 | 天天射天天干天天 | aise爱色av | 丝袜ol美脚秘书在线播放 | 亚州国产| 国产精品1000部啪视频 | 中文字幕在线视频不卡 | 黄色草逼网站 | 亚洲高清毛片 | 黄色网址最新 | 国产内射老熟女aaaa∵ | 亚洲成人激情av | 奶波霸巨乳一二三区乳 | 黄色国产在线播放 | 97香蕉超级碰碰久久免费软件 | 影音先锋中文字幕在线视频 | 男人操女人的软件 | 久久精品天堂 | 欧美性xxxxxxxxx | 91嫩草精品 | 成人狠狠干 | 香港三级韩国三级日本三级 | 毛片基地在线播放 | 久伊人| 精品一区二区久久久久久按摩 | 五月天婷婷爱 | 日韩中文字幕av电影 | jizz在线播放 | 国产精品影院在线观看 | 欧美老肥熟 | 1024av在线| 成人三级晚上看 | 国产成人精品一区二区三区在线观看 | 99精品国产成人一区二区 | 不卡中文字幕在线观看 | 99热日韩 | 操大爷影院 | 不卡在线| 少妇av网 | 亚洲AV乱码国产精品观看麻豆 | 黄色精品一区 | 800av凹凸| 六月婷婷在线 | 前任攻略在线观看免费完整版 | 国产一区二区三区乱码 | 自拍视频在线 | 日韩成人一区二区 | 华丽的外出在线观看 | 日韩v在线| 日本五十熟hd丰满 | 丁香婷婷色 | 国产精品扒开腿做爽爽爽视频 | 国产免费脚交足视频在线观看 | 成人精品一区日本无码网 | 亚洲天堂网站 | 狠狠干青青草 | 国产欧美日韩二区 | 波多野结衣绝顶大高潮 | 性色av浪潮av | 男女免费看 | 免费日韩在线视频 | 久久精品屋 | 影音先锋亚洲成aⅴ人在 | 亚洲美女自拍视频 | 久久伊人一区二区 | 国产精品三 | 精品久久久久久一区二区里番 | 亚洲高清网| 亚洲欧美经典 | 国产精品一区电影 | 成人欧美在线 | 69日本xxxxxxxx96 | 黄色三级av | 高清乱码免费看污 | 精品国产91 | 国产三级小视频 | 伊人网影院 | 三级理论电影 |