作者:如葑

K8s Ingress 简介

K8s 集群内的网络与外部是隔离的,即在 K8s 集群外部无法直接访问集群内部的服务,如何让将 K8s 集群内部的服务提供给外部用户呢?K8s 社区有三种方案:NodePort、LoadBalancer、Ingress,下图是对这三种方案的对比:

通过对比可以看到 Ingress 是更适合业务使用的一种方式,可以基于其做更复杂的二次路由分发,这也是目前用户主流的选择。

K8s Ingress 现状

套用一句流行语:理想是丰满的、现实是骨感的,这句话放在 K8s Ingress 也同样适用,K8s 希望通过 Ingress 来标准化集群入口流量的规则定义,但实际业务落地时需要的功能点要远比 Ingress 提供的多,为了满足业务诉求,各 Ingress Provider 也各出招数,总的来说解法分成两类:使用 annotations 扩展与使用新的 CRD。下面使用图示来说明:

K8s Ingress Provider 的发展趋势

Ingress Provider 的百花齐放,站在用户角度各有利弊,好处是用户的可选项很多,而坏处也恰恰是选择太多,我们如何去选择一个适合自身业务的 Ingress Provider 呢?不妨先看看权威 CNCF 的统计数据:

直观的可以看出对于占据 Ingress Provider 首位的 Nginx 是在预期之内的,细看之下虽 Nginx Ingress 仍占据榜首,但其增长有点乏力,甚至有下降的态势;反观 Envoy 已经从 2019 年的第三位攀升至 2020 的第二位,其使用率也从 2019 年的不足 20% 攀升至 2020 年的 37%,几乎成倍增长。

所谓透过现象看本质,为什么 Envoy 的增长这么快呢?总结起来有以下几点:

1、Envoy 诞生在分布式微服务的大背景下,其配置热更新、HTTP3、Wasm 等特性非常贴合目前的使用场景,同时社区治理也非常健康,很多互联网大厂也深度参与其中。

2、Envoy 即可用作 Ingress Provider,也是 ServiceMesh 中 sidecar 的事实领导者,使用同一种技术同时解决南北向与东西向流量调度也是用户选择 Envoy 的一大原因。

3、Envoy 是达到生产级要求的,是经 Lyft 大规模验证过的。

K8s Ingress Provider 的新选择 - 云原生网关

在虚拟化时期的微服务架构下,业务通常采用流量网关 + 微服务网关的两层架构,流量网关负责南北向流量调度和安全防护,微服务网关负责东西向流量调度和服务治理,而在容器和 K8s 主导的云原生时代,Ingress 成为 K8s 生态的网关标准,赋予了网关新的使命,使得流量网关 + 微服务网关合二为一成为可能。

MSE 发布的云原生网关在能力不打折的情况下,将两层网关变为一层,不仅可以节省 50% 的资源成本,还可以降低运维及使用成本。

云原生网关的优势

性能更强劲

在开始介绍前先抛个问题:Nginx Ingress 的性能与 Nginx 是等价的吗?带着这个疑问我们直接看压测数据对比:

有没有感觉很意外呢?说实话压测后包括我们自己也是有些意外,压测结论如下:

我们也查看了 Nginx Ingress 的实现以及社区反馈,由于其大量使用 Lua 脚本从而对性能带来了非常大的影响,K8s Nginx Ingress 社区也有具体的 issue: https://github.com/kubernetes/ingress-nginx/issues/5658

社区压测 Lua 对 Nginx Ingress 的性能影响截图如下:

功能更丰富

云原生网关作为流量网关与微服务网关的二合一,其功能上同时提供丰富的安全认证与服务治理能力,同时在性能上也做了内核调优以及接下来要发布的硬件加速功能,结合阿里内部两年的大促经验在高可用建设上也进一步做了扩展,整体功能大图如下:

稳定更可靠

经过历年大促的验证,阿里内部积累了一套高可用保障方案,从研发时、运行时、变更时来控制风险提升稳定性,在每个阶段各自有手段去验证其高可用目标,图示说明如下:

云原生网关即将上线的重磅功能

TLS 硬件加速

目前 HTTPS 已经成为公网请求的主要使用方式,全部使用 HTTPS 后由于其要做 TLS 握手,相比HTTP势必性能上会有很大损耗,目前随着 CPU 性能的大幅提升,利用 CPU 的 SIMD 机制可以很好的加速 TLS 的性能,因此我们基于 Intel Ice Lake 处理器推出 TLS 硬件加速功能,通过压测验证启用 TLS 加速后 QPS 可以大幅提升,具体如下图:

内置 Waf

作为面向南北向的公网网关,使用 Waf 防护异常流量是很常规的需求,而且随着互联网环境变得越来越复杂,用户对防护的诉求是持续增强的,常规做法是将流量先接入 Waf 安全网关,过滤后再将流量转发给流量网关,最后到达微服务网关;云原生网关希望内置 Waf 模块直接对接阿里云的 Waf 云产品,使得用户的请求链接只经过云原生网关就可以同时完成 Waf 防护、流量分发、微服务治理,即提升链路 RT,也降低网关的运维复杂度,图示如下:

Wasm 插件市场

Wasm 作为目前非常火热的技术之一,其最受追捧的原因在于其可以支持多语言编写 Wasm 程序,且 Wasm 提供了一个很好的沙箱环境来控制程序的执行环境,Istiod 与 Envoy 社区也已经对 Wasm 插件做了基础的支持,云原生网关希望在社区的基础上推出自己的插件市场,提升网关的可扩展性,方便用户自定义网关插件。我们也对现有的 wasm runtime 做了性能对比与测试,这些测试数据也会作为我们的开发依据,图示如下:

写在最后

MSE - 云原生网关,旨在为用户提供更可靠的、成本更低、效率更高的,符合 K8s Ingress 标准的企业级网关产品,更多发布详情移步直播间观看: https://yqh.aliyun.com/live/detail/27794

MSE - 云原生网关提供后付费和包年包月两类付费模式,支持杭州、上海、北京、深圳 、张家口、香港、新加坡、美国(弗吉尼亚)、美国(硅谷)、德国(法兰克福)10 个 region,并会逐步开放其他 region,云原生网关购买链接请点击此处。

也可钉钉搜索群号 34754806 加入用户群交流、答疑。 发布云原生技术最新资讯、汇集云原生技术最全内容,定期举办云原生活动、直播,阿里产品及用户最佳实践发布。与你并肩探索云原生技术点滴,分享你需要的云原生内容。

关注【阿里巴巴云原生】公众号,获取更多云原生实时资讯!

K8s Ingress Provider 为什么选择 MSE 云原生网关?相关推荐

  1. 阿里云 MSE 云原生网关助力斯凯奇轻松应对双 11 大促

    客户简介 斯凯奇(SKECHERS)1992 年诞生于美国加州,如今已遍布全球 170 多个国家地区.在美国是仅次于耐克的第二大鞋类品牌.2020 年 11 月斯凯奇宣布与阿里云达成合作,加速数字化升 ...

  2. 无缝融入 Kubernetes 生态 | 云原生网关支持 Ingress 资源

    Kubernetes Ingress 介绍 通常情况下,Kubernetes 集群内的网络环境与外部是隔离的,也就是说 Kubernetes 集群外部的客户端无法直接访问到集群内部的服务,这属于不同网 ...

  3. MSE | 阿里巴巴云原生网关三位一体的选择与实践

    简介:三位一体是阿里巴巴"自研"."开源"."商业化"采用的统一技术体系,希望以开源做内核.结合阿里巴巴内部丰富的业态和业务需求,通过自研进 ...

  4. 注册配置、微服务治理、云原生网关三箭齐发,阿里云 MSE 持续升级

    背景 注册中心是日常使用频率很高的微服务组件,通过较低的资源溢价帮助客户缩短微服务的构建周期.提升可用性: 微服务治理实现了 0 门槛就能接入全链路灰度.无损上下线.限流降级.环境隔离.数据库治理等能 ...

  5. 云原生网关开源、自研、商业化三位一体战略背后的思考

    *作者:如葑 阿里巴巴三位一体战略解读之云原生网关开源.自研.商业化,目前云原生网关已正式商业化,旨在为用户提供更可靠的.成本更低.效率更高的符合K8s Ingress标准的企业级网关产品,更多详情将 ...

  6. 阿里巴巴云原生网关三位一体的选择与实践

    作者:如葑 审核&校对:彦林.望宸 编辑&排版:酒圆 三位一体是阿里巴巴"自研"."开源"."商业化"采用的统一技术体系,希 ...

  7. 阿里巴巴重磅开源云原生网关: Higress

    11月5日,2022 杭州 · 云栖大会-云原生峰会现场,阿里巴巴研究员.阿里云智能云原生应用平台总经理丁宇宣布:云原生网关 Higress 正式开源,Higress 是一款标准化.高集成.易扩展.热 ...

  8. 性能提升一倍!云原生网关支持 TLS 硬件加速

    作者|井轶 审核&校对|如葑 随着网络环境的日渐复杂,传统 HTTP 明文传输协议带来的传输安全风险也日渐升高,因此 HTTPS 的密文传输协议得到了业界的普遍认可与广泛应用:任何事情都有其两 ...

  9. Spring Cloud Gateway 突发高危漏洞,下一代云原生网关恰逢其时?

    Spring Cloud Gateway 突发高危漏洞 Log4j2 的漏洞刚告一段落,Spring 官方在 2022 年 3 月 1 日发布了 Spring Cloud Gateway 的两个 CV ...

最新文章

  1. python3 requests模块
  2. 浅析网站搭建时所遇到的这样或那样的问题
  3. Dijstra算法求最短路径
  4. 修改显卡型号软件_马甲显卡又双叕来了 怎么选知道吗?
  5. 虚拟机安装服务器2008,VMware Workstation 虚拟机安装64位windows 2008 R2 系统
  6. mysql 如何调用函数结果_MySQL自定义函数调用不出结果
  7. CentOS 下 Oracle 10g 安装 + 配置 全过程(图解)
  8. 关于Android Studio使用高德地图地位
  9. 数据库服务器上导出dmp文件在哪里,sql数据库导出表dmp文件
  10. Oracle 子查询优化思路
  11. 如何修复Win7照片查看器无法显示的图片
  12. 试用bus hound来分析STM32CubeMX来生成USB_HID_Mouse工程
  13. 计算机基金经理排名,2019年基金经理排行_2017年一季度 基金经理排行榜大揭秘 规模 盈利 经验...
  14. OpenNI和Kinect安装中文教程
  15. 面试题之消息中间件(MQ与RabbitMQ)
  16. Python机器学习13——主成分分析
  17. 百度amis技巧汇总页
  18. 论文阅读笔记:DOER: Dual Cross-Shared RNN for Aspect Term-Polarity Co-Extraction
  19. 用python构建机器学习模型分析空气质量
  20. 全网最新最全的 HDFS 文件纠删码技术分析

热门文章

  1. CPU和软件模拟异常的执行流程
  2. Mysql 查询一天中每半小时记录的数量
  3. 152. 城市游戏【单调栈】
  4. 第 2 章:初出茅庐【初级篇 - 2.3 动态规划】
  5. 1119 Pre- and Post-order Traversals (30 分)【难度: 难 / 知识点: 树的构建】
  6. Liunx文件的属性(权限) 超详细解析
  7. jQuery操作CSS
  8. python:dataframe保存成csv文件和读取
  9. Linux命令集合(更新中。。。)
  10. WebSocket 实现 Web 端即时通信