Consul API Gateway 0.4 已正式發佈,包括這些新功能

Consul API Gateway 0.4 已正式發佈,包括這些新功能

https://u.kubeinfo.cn/ZRRDTs

Consul API Gateway 0.4 引入了對新 beta 版 Kubernetes Gateway API 和 HTTP 路徑重寫的支持。

18 號 Consul API Gateway 0.4 版正式發佈。在此版本中,率先引入了對 Kubernetes 網關 API 和 HTTP 路徑重寫的新 beta 版本的支持。Consul API Gateway 0.4 版標誌着 API 中三個關鍵組件的增長:GatewayClassGatewayHTTPRoute。除了這三個 API 的成熟度之外,還引入了 URL 路徑重寫。

K8S Gateway API 升級爲 Beta

在 Kubernetes 社區中,規範必須符合某些準則,才能從 alpha 分類轉移到 beta 分類。第一個要求是 API 必須被廣泛實施和積極使用。HashiCorp 是 14 家提供 Kubernetes 網關 API 實現的公司之一。第二個要求是通過一致性測試以確保對所有資源的基本覆蓋。最後,Kubernetes 特別興趣小組 (SIG) 網絡 API 審查員必須批准畢業到 beta。該 SIG 由來自多家公司的個人組成,包括 HashiCorp。

Beta 版升級在 API GatewayClass、Gateway 和 HTTPRoute 中至關重要,因爲這意味着這些特定的 API 可以爲未來的版本提供向後兼容性。這有助於減少任何故障的機會,例如停機。請注意,這些不是 Kubernetes 網關 API 的新功能,也不是 Consul API 網關新支持的功能,而是僅作爲 beta 升級重新引入。

Gateway

Kubernetes Gateway API 引入了一種處理進入 Kubernetes 環境的新方法。爲此目的創建的核心資源之一是網關服務。網關服務是充當集羣入口點的 Kubernetes 資源。它們可以部署爲 LoadBalancer 或 NodePort 資源,並將流量請求路由到集羣內的服務。網關服務支持不同的偵聽器協議,如 HTTP/S、TCP 和 TCP+TLS,與 Ingress Controller 相比,爲客戶端提供了更廣泛的連接類型。

GatewayClass

GatewayClass 資源允許用戶在將網關服務部署到 Kubernetes 環境中時模板化網關服務的配置方式。GatewayClass 配置存儲在 Kubernetes 控制器(我們稱之爲 Consul API 網關控制器)中,並由新配置的網關服務檢索。爲了配置網關,需要一個 GatewayClass 定義,因此我們在安裝時提供默認值,但用戶可以根據需要配置不同的 GatewayClass。

HTTPRoutes

一旦創建了網關服務並且客戶端可以訪問,用戶必須將 HTTPRoutes 附加到他們的網關,以方便將請求轉發到哪裏以及應該使用什麼協議。HTTPRoutes 專爲 HTTP 請求的路由行爲而設計,包括終止,但 Consul API Gateway 還支持其他路由類型,例如 TCPRoute。使用 HTTPRoutes,用戶可以配置網關以查找請求屬性,例如路徑前綴、標頭值和查詢參數。在 Consul API Gateway 0.4 中,我們引入了另一個功能:路徑重寫。

HTTP Path Rewrites

在某些情況下,用戶可能有一個他們希望客戶端向其發送請求的主機名,但後端服務實際上使用的是不同的主機名。在 Consul API Gateway 0.4 中,HTTPRoutes 現在支持檢測原始主機名並在將請求傳遞給相應的後端服務之前重寫它的能力。以下是這些過濾器的示例:

apiVersion: gateway.networking.k8s.io/v1beta1
kind: HTTPRoute
metadata:
  name: http-filter-rewrite
spec:
  hostnames:
    - rewrite.example
  rules:
    - filters:
      - type: URLRewrite
        urlRewrite:
          hostname: elsewhere.example
      backendRefs:
      - name: example-svc
        weight: 1
        port: 80

在本例中,客戶機向 rewrite.example 發送一個請求,網關接受該請求,並在將請求轉發到 example-svc 後端服務之前將主機名重寫到 elsewhere.example。這些重寫還可以應用於路徑前綴,這些前綴對請求的發送位置提供了更細粒度的控制,而不需要客戶機向多個不同的主機名發送請求。這個特性目前正處於試驗階段,並沒有被認爲是前面提到的升級到測試階段的一部分。

總結

Consul API Gateway 0.4 現在對所有用戶普遍可用。要開始使用,您需要運行 Consul 1.12。有關 Kubernetes Gateway API 的更多信息,請訪問Kubernetes 網關 API 畢業到 Beta 博客文章。

本文由mdnice多平臺發佈

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章