衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

騰訊云和華為云的ingress路徑匹配規則把我繞暈了

馬哥Linux運維 ? 來源:馬哥Linux運維 ? 2024-01-08 15:59 ? 次閱讀

本文簡單調研了騰訊云和華為云的關于ingress路徑匹配規則的實現的差異,了解這些,可以讓你的頭更大

路徑匹配規則

目前官方k8s支持的路徑匹配規則只有以下三種類型,但不同的云廠商通過自己實現對應的ingress controller,往往還支持正則匹配等不同的路徑規則。

5a251858-9c10-11ee-8b88-92fbcf53809c.jpg

騰訊云ingress

本文主要調研了Tke的兩類ingress,分別是應用型CLB和Nginx ingress Controller,這兩類ingress在頁面創建時均不支持選擇路徑匹配規則,而二者關于路徑匹配規則的實現又有所差異,但二者在騰訊云頁面上創建出來的ingress的yaml中路徑匹配字段均是ImplementationSpecific

5a398f90-9c10-11ee-8b88-92fbcf53809c.jpg

Nginx Ingress

騰訊云的nginx ingress類型是基于原生的Nginx ingress controller實現的。(別問我是怎么知道的)

5a535ac4-9c10-11ee-8b88-92fbcf53809c.jpg

參考了Nginx ingress的官方文檔,Nginx ingress 支持顯示指定ExactPrefix,也支持通過annotation+ImplementationSpecific的方式去隱式指定正則匹配規則(kubernetes.github.io/ingress-ngi… ),如下所示:

5a677a22-9c10-11ee-8b88-92fbcf53809c.jpg

為什么在Tke頁面上創建出來的ingress默認就是ImplementationSpecific規則,結合官方文檔上的描述,推測是因為ImplementationSpecificExactPrefix能夠兼容更多的字符類型(kubernetes.github.io/ingress-ngi… )。

5a7ea4cc-9c10-11ee-8b88-92fbcf53809c.jpg

騰訊云上創建出來的ingress轉發規則,默認的路徑匹配規則為ImplementationSpecific,結合官方文檔說明以及測試驗證,確認默認情況下實際是按照前綴匹配規則來進行匹配的。

5a93377a-9c10-11ee-8b88-92fbcf53809c.jpg

應用型CLB

按照騰訊云官方文檔上的描述(cloud.tencent.com/document/pr…),騰訊云上的應用型CLB支持通過配置含特定字符的路徑來使用不同的路徑匹配規則,具體如下所示:

5aa86b5e-9c10-11ee-8b88-92fbcf53809c.jpg

如果是以/開頭的話,按最長前綴匹配,優先精確匹配,而后模糊匹配。

Cce ingress

cce的ingress支持前綴匹配,精確匹配和正則匹配三種路徑匹配規則。按照官方文檔的描述(support.huaweicloud.com/cce_faq/cce…),cce是通過ingress中的property字段來標明路徑匹配規則,而這個property字段在社區的ingress上是沒有的。

5aba7556-9c10-11ee-8b88-92fbcf53809c.jpg

因此,我們使用client-go創建ingress時是打上了這個annotation的,而在cce云上直接創建的ingress是沒有這個annotation的。

這里提供一段轉換的代碼供大家參考:


	
type ccePathType struct {
   Host      string `json:"host"`
   Path      string `json:"path"`
   MatchMode string `json:"matchmode"`
}




var ingressProperty []ccePathType
for i := range ingress.Spec.Rules {
   if ingress.Spec.Rules[i].HTTP != nil {
      for j := range ingress.Spec.Rules[i].HTTP.Paths {
         ingressProperty = append(ingressProperty, ccePathType{
            Host:      ingress.Spec.Rules[i].Host,
            Path:      ingress.Spec.Rules[i].HTTP.Paths[j].Path,
            MatchMode: matchModeMap[string(*ingress.Spec.Rules[i].HTTP.Paths[j].PathType)],
         })
         ingress.Spec.Rules[i].HTTP.Paths[j].PathType = (*networkingv1.PathType)(&implementationSpecificPathType)
      }
   }
}
cceIngressPropertyValue, err := json.Marshal(ingressProperty)
if err != nil {
   return err
}
meta.SetAnnotation(ingress, "kubernetes.io/ingress.property", string(cceIngressPropertyValue))

	


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 騰訊云
    +關注

    關注

    0

    文章

    216

    瀏覽量

    16844
  • CLB
    CLB
    +關注

    關注

    0

    文章

    29

    瀏覽量

    5982
  • 華為云
    +關注

    關注

    3

    文章

    2691

    瀏覽量

    17590

原文標題:騰訊云和華為云的ingress路徑匹配規則把我繞暈了

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    阿里華為騰訊保持高位增長,云安全威脅成頭號問題

    在國內市場,阿里牢牢保持第一;華為增速迅猛;騰訊、金山、UCloud、青云等沖擊股市板塊
    的頭像 發表于 04-29 09:34 ?5590次閱讀

    單面板鋪銅在低層嗎 ?暈了

    單面板鋪銅在低層嗎 ?暈了
    發表于 01-04 13:44

    私有云和公有的對比。

    、最重要的一點是:公有在國內可能都要關閉掉,目前關掉的有360.樂視華為等等,但是有了私有不會擔心關閉,還有就是私有
    發表于 06-09 10:37

    Kubernetes Ingress 高可靠部署最佳實踐

    在Kubernetes集群中,Ingress是授權入站連接到達集群服務的規則集合,為您提供七層負載均衡能力,您可以通過 Ingress 配置提供外部可訪問的 URL、負載均衡、SSL、基于名稱的虛擬主機等。作為集群流量
    發表于 04-17 14:35

    【推薦體驗】騰訊自然語言處理

    騰訊自然語言處理的接口分為了基礎版和高級版兩類。基礎版包括情感分析、詞法分析、文本糾錯、文本分類等,高級版包括敏感詞識別、文本審核等。騰訊還提供了在線調試工具API Explor
    發表于 10-09 15:28

    【HarmonyOS HiSpark Wi-Fi IoT 套件試用連載】 不記得是第幾彈,總是重磅發布,對接騰訊平臺

    吧要對接騰訊平臺,我們首先要下載他的官方sdk,為什么用官方sdk相信不用多少吧,除非你想深入學習技術或者對他的官方sdk不屑一顧,否則不建議從來手擼喔,生命苦短,何必跟自己過不去那么sdk在哪
    發表于 01-24 20:57

    網易云和騰訊互掐起來了?鴻蒙“后院”起火了

    今天打開手機老王看到了一條有意思的新聞:“網易云和騰訊QQ音樂都說自己是第一家接入鴻蒙的流媒體音樂,要互掐了嗎?”發現了沒?多有意思,各大廠都開始“爭著”蹭鴻蒙的熱點,不過,這也是意料之中的事情了
    發表于 10-27 10:08

    AT指令對接騰訊的使用方法

    文章系列:【騰訊物聯開發平臺筆記1】AT指令對接騰訊基本使用;【騰訊物聯開發平臺筆記 2】
    發表于 11-26 06:23

    【合作伙伴】騰訊--產業智變,啟未來

    騰訊騰訊騰訊集團傾力打造的計算品牌,面向全世界各個國家和地區的政府機構、企業組織和個人開
    發表于 12-12 10:06

    Fibocom 公有騰訊 技術資料

    Fibocom 公有騰訊 技術資料內容如下:1、騰訊連接教程2、騰訊連連小程序使用教程3
    發表于 01-05 12:00

    IOT設備連接上路徑 如何讓的設備連接上

    如何讓的設備連接上?參考如下路徑。 ?
    的頭像 發表于 10-11 11:35 ?380次閱讀
    IOT設備連接上<b class='flag-5'>云</b>的<b class='flag-5'>路徑</b> 如何讓<b class='flag-5'>我</b>的設備連接上<b class='flag-5'>云</b>?

    騰訊、阿里華為云和移動率先通過IPv6專家委測評

    騰訊、阿里華為以及移動率先獲得服務IPv
    的頭像 發表于 08-31 14:48 ?2967次閱讀

    騰訊云和 NVIDIA 聯合推出賦能中小企業的扶持計劃

    騰訊 × NVIDIA 初創加速計劃” 是騰訊云和 NVIDIA 聯合推出的賦能中小企業的扶持計劃,成功加入該計劃的企業,將同時享受 “騰訊
    的頭像 發表于 08-02 10:45 ?1108次閱讀

    潤和軟件HopeStage操作系統正式上架阿里華為騰訊商店

    近日,潤和軟件HopeStage操作系統正式上架阿里華為騰訊商店。
    的頭像 發表于 08-17 11:27 ?925次閱讀
    潤和軟件HopeStage操作系統正式上架阿里<b class='flag-5'>云</b>、<b class='flag-5'>華為</b><b class='flag-5'>云</b>、<b class='flag-5'>騰訊</b><b class='flag-5'>云</b>商店

    nginx中的正則表達式和location路徑匹配指南

    前言,這里驗證的nginx-v1.23.2單機環境下的nginx中的正則表達式、location路徑匹配規則和優先級。
    的頭像 發表于 09-29 16:02 ?960次閱讀
    nginx中的正則表達式和location<b class='flag-5'>路徑</b><b class='flag-5'>匹配</b>指南
    广州百家乐官网娱乐场开户注册 | 资溪县| 庄浪县| 赌百家乐官网的体会| 威尼斯人娱乐城 老品牌值得您信赖| 香港百家乐玩| 百家乐龙虎台布价格| 真人百家乐游戏软件| 百家乐开户过的路纸| 百家乐网上娱乐| 大发888娱乐城qq服务| 百家乐庄牌| 大发888移动版| scc太阳城俱乐部| 大发888官网免费下载| 幸运水果机电脑版| 德州扑克术语| 在线百家乐投注| 金盈会百家乐官网现金网| 迪威百家乐官网娱乐场| 真人百家乐打法| 百家乐龙虎台布多少钱| 大发888娱乐场下载samplingid112| 威尼斯人娱乐网网上百家乐的玩法技巧和规则| 大发888 方管下载| 大埔区| 百家乐官网怎么玩才会赢钱| 百家乐官网赌注| 百家乐多少点数算赢| 百家乐2号破解下载| 大发888 打法888 大发官网| 巴彦县| 真博百家乐官网的玩法技巧和规则| 百家乐赌博机怎么玩| 大佬百家乐娱乐城| 金钻国际娱乐城| 百家乐官网博娱乐平台| 澳门百家乐玩法与游戏规则| 大发888怎么赢钱| 百家乐官网破解版下载| 网上百家乐官网赌博出|