查看原文
其他

Kubernetes 中 暴露服务 的新方法

Dudi Benvenisti 进击云原生 2022-11-10

关注公众号并添加到“星标⭐”,防止错过消息

后台回复【资料包】获取学习资料

GitHub 语言类趋势真是日新月异

原文:https://nonamesecurity.com/blog/the-new-way-to-expose-apis-in-kubernetes-cluster

Ingress 是 Kubernetes 中使用最广泛的资源之一。该组件负责基础设施和应用程序,并有助于将应用程序和服务暴露到集群外。然而,Kubernetes 网络技术已经有了长足的发展,许多新的用例很快暴露了 Ingress 的局限性。

Ingress API 没有提供用户想要定义的高级负载均衡功能,而且用户管理起来相当不切实际。供应商试图通过使用 annotations 来解决这些额外的用例以扩展平台,但这导致供应商之间的实现不一致。

https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/

因此,Gateway API 创建了一个新资源和 API 的集合,这些资源和 API 会改进并可能在未来取代 Ingress。

Gateway API 将 Ingress 功能分为 3 个组件,每个组件负责自己的部分,如下所述。此外,Gateway API 添加了其他有价值的功能。许多 Gateway API 的下游实施者和集成商都提供了公共预览版,并且正在快速迭代。

https://gateway-api.sigs.k8s.io/implementations/

除了这个 Envoy 还宣布了他们的 Envoy Gateway 来标准化 Kubernetes Ingress。

https://blog.envoyproxy.io/introducing-envoy-gateway-ad385cc59532

旧方法 - Ingress

使用安全最佳实践是通过 Ingress 公开 API,您应该配置了 ingress 的服务,然后再连接到负载均衡器。这意味着 Ingress 包括入口控制器详细信息(由平台管理员配置)和应用程序路由(由开发人员配置)。

新方式 - Gateway API

架构

GatewayClass -> Gateway -> [*]Route

GatewayClass 由平台/基础设施提供商提供,例如 Istio 或 Google Cloud。

Gateway 是由平台/集群管理员定义的 gatewayClass 的一个实例,它将网关绑定到 LoadBalancer。

*Route 用于将路由绑定到网关(可以将多个路由配置到一个网关)。在 TCP/IP 层中可用:

  • HTTPRoute - 可以路由 HTTP 和 HTTPS
  • TLSRoute - 根据 TLS 层中的参数和 SNI(服务器名称指示)路由 TLS 和路由
  • TCPRoute - 基于 TCP 目标端口的路由
  • UDPRoute - 基于 UDP 目标端口的路由

优点

使用新方式的优点:

网关 API 增加了新功能:

  • 基于 HTTP 标头的匹配
  • HTTP 标头操作
  • 加权流量拆分
  • 流量镜像
  • 面向角色的资源模型

Gateway API 还支持扩展:

  • 路由到其他协议
  • 任意后端 CRD,例如桶、函数等。
  • 自定义参数和配置(LB 算法、自定义匹配)
  • 新方法将基础架构与应用程序解耦

展望未来

Gateway API 支持更复杂的 LB 功能,例如加权流量拆分和基于 HTTP 标头的匹配和操作。该功能仍在开发中,许多供应商已开始提供实验性支持,因此预计网关 API 将稳步向前发展。

- END -




后台回复“加群”,带你进入高手交流群


推荐阅读
还怕记不住 Kubectl 命令?K9s 太强大了将 Docker 镜像安全扫描,添加到 CI/CD 管道
GitHub 语言类趋势真是日新月异!
40 张图解 K8s 中微服务项目设计与实现
总结了 800多个 Kubectl 别名,再也不怕记不住命令了!
Grafana 9 正式发布,更易用,更酷炫了!
Istio、eBPF 和 RSocket Broker:10 张图轻松搞懂服务网格
专为开发人员构建的个人知识管理工具 - Dendron
CKS CKA CKAD 考试迎来重大变化
免费的 Docker 镜像仓库,无需注册登录!!
8.2K Star !美观强大 Nginx 可视化管理界面Istio 已经远超越 SpringCloud、dubbo 框架Argo CD 2.4 已发布,带来重大变化!!
全网粉丝20W的头部大号,专注云原生、Golang、Linux实用脚本,效率工具,免费CSDN下载,回复【go】获取近 6 万 Star 的资源回复【1024】获取全种类IT资料,回复【红包封面】获取超好看封面,回复【加群】进入高手如云技术交流群

分享、点赞和在看
支持我们分享更多好文章,谢谢!
                
 点个在看集群永保稳定👇

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存