前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Consul API Gateway 0.4 已正式发布,包括这些新功能

Consul API Gateway 0.4 已正式发布,包括这些新功能

作者头像
我的小碗汤
发布2023-03-19 17:49:24
4750
发布2023-03-19 17:49:24
举报
文章被收录于专栏:我的小碗汤我的小碗汤

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 中三个关键组件的增长:GatewayClass[1]Gateway[2]HTTPRoute[3]。除了这三个 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 现在支持检测原始主机名并在将请求传递给相应的后端服务之前重写它的能力。以下是这些过滤器的示例:

代码语言:javascript
复制
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 [4]博客文章。

出处:https://u.kubeinfo.cn/ZRRDTs

参考资料

[1]

GatewayClass: https://gateway-api.sigs.k8s.io/api-types/gatewayclass/

[2]

Gateway: https://gateway-api.sigs.k8s.io/api-types/gateway/

[3]

HTTPRoute: https://gateway-api.sigs.k8s.io/api-types/httproute/

[4]

Kubernetes 网关 API 毕业到 Beta : https://kubernetes.io/blog/2022/07/13/gateway-api-graduates-to-beta/

- END -

本文参与?腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-08-20,如有侵权请联系?cloudcommunity@tencent.com 删除

本文分享自 进击云原生 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • K8S Gateway API 升级为 Beta
    • Gateway
      • GatewayClass
        • HTTPRoutes
          • HTTP Path Rewrites
          • 总结
          相关产品与服务
          容器服务
          腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
          http://www.vxiaotou.com