Serverless Kubernetes 再升级 | 全新的网关能力增强

简介: 这里给大家介绍一下如何在 Serverless Kubernetes 中提供网关能力增强。

作者:元毅、如葑


K ubernetes 作 为当 今云原生业界标准,被众多开发者所拥抱 Serverless Kubernetes   Kubernetes 之上,提供按需使用、节点免运维的 Serverless 能力。 当前 Serverless K ubernetes 中默认提供 Nginx Ingress Controller 已不能满足按需使用、免运维的诉求,Serverless Kubernetes 与 ALB 结合提供按需使用、免运维的云产品网关能力,同时在微服务场景下提供 MSE 云原生网关能力支持 这里给大家介绍一下如何在 Serverless Kubernetes 中提供网关能力增强。

背景


Serverless Kubernetes (ASK)


ASK 集群是阿里云推出的无服务器 Kubernetes 容器服务。您无需购买节点即可直接部署容器应用,无需对集群进行节点维护和容量规划,并且根据应用配置的 CPU 和内存资源量进行按需付费。ASK 集群提供完善的 Kubernetes 兼容能力,同时降低了 Kubernetes 使用门槛,让您更专注于应用程序,而不是管理底层基础设施。
在 Kubernetes 上实现 Serverless 主要做到以下两点:


第一:线上如何更聚焦业务应用。

这里我们通过 Knative ,聚焦业务应用,进一步抽象 Kubernetes 资源,提供按需使用自动弹性的能力。Knative 是基于 Kubernetes 之上提供的一款开源 Serverless 应用框架,帮助您部署和管理现代化的 Serverless 工作负载,打造企业级 Serverless 平台。


Knative 主要包括 2 大核心模块:Serving 和 Eventing


  • Serving 提供了 Service 应用模型,支持基于流量的灰度发布、版本管理、缩容到 0 以及自动弹性。
  • Eventing 提供事件驱动能力。支持丰富的事件源,以及用于事件流转、过滤的 Broker/Trigger 模型。


第二:向下如何让用户减少对基础设施的关注

通过 IaaS 资源免运维,减少对基础设施的关注,做到节点免运维。在 Serverless Kubernetes 中通过虚拟节点结合弹性容器实例 ECI,让用户彻底摆脱对 IaaS 的运维。


使用默认网关遇到的痛点


聊完了什么是 Serverless Kubernetes, 我们接着说当前在 ASK 中使用默认网关遇到哪些问题。当前在 ASK 中默认使用 Nginx Ingress, 但是用户需要面对如下问题:


  • 自有组件,维护升级
  • 手动配置弹性策略
  • 手动性能调优


显然满足不了 Serverless 按需使用、节点免运维的诉求。那么接下来我们讲一下如何在Serverless Kubernetes 进行网关增强。


Knative 与 ALB


ALB


应用型负载均衡 ALB(Application Load Balancer)是阿里云推出的专门面向 HTTP、HTTPS 和 QUIC 等应用层负载场景的负载均衡服务,具备超强弹性及大规模应用层流量处理能力。ALB 具备处理复杂业务路由的能力,与云原生相关服务深度集成,提供的云原生 Ingress 网关。


11.png


应用型负载均衡 ALB 具有即开即用,超大性能,稳定可靠,弹性伸缩,按需付费等特点,更加适合 7 层应用交付场景。


应用型负载均衡 ALB 面向 7 层,支持 HTTP/HTTPS/HTTP2/WSS/QUIC/GRPC 等众多协议,单实例可支持高达 100 万 QPS,业界性能遥遥领先。


产品优势


相较于传统负载均衡(原 SLB),ALB 在产品定位、性能、功能特性、运维以及云原生支持方面具备如下优势:image.gif


22.png

弹性增强


ALB 从 0 升级到 100 万 QPS,平滑无感,无需额外操作,且完全按量付费。


33.png


性能增强


如何做到比 SLB 更强的性能,主要源于多级负载、多级调度:•提供域名,单实例支持多达 99 个 VIP,多级流量调度。•根据流量的增长在 AZ 间智能化扩缩,用户无需感知。•流量在所有 AZ 所有 RS 上均匀、打散调度,防止雪崩效应。


运维增强


  • 基于海量大数据计算能力打造的实时访问日志中心
  • 高精度实时流量秒级监控。陡增陡降,尖峰突刺一览无余。
  • 实例配置管理。向 git 一样管理配置并可一键回滚。


ALB Ingress Controller


显示结合 ALB 自身产品优势,我们如何与 Kubernetes 结合使用呢?这里我们提供 cloud provider:ALB Ingress Controller。通过 Kubernetes Ingress 直接创建 ALB 实例与规则。实现 Kubernetes 与 ALB 的集成。


66.png


ALB Ingress Controller 通过 API Server 获取 Ingress 资源的变化,动态地生成 AlbConfig,然后依次创建 ALB 实例、监听、路由转发规则以及后端服务器组。Kubernetes 中 Service、Ingress 与 AlbConfig 有着以下关系:


  • Service 是后端真实服务的抽象,一个 Service 可以代表多个相同的后端服务。


  • Ingress 是反向代理规则,用来规定 HTTP/HTTPS 请求应该被转发到哪个 Service 上。例如:根据请求中不同的 Host 和 URL 路径,让请求转发到不同的 Service 上。


  • AlbConfig 是在 ALB Ingress Controller 提供的 CRD 资源,使用 AlbConfig CRD 来配置 ALB 实例和监听。一个 AlbConfig 对应一个 ALB 实例。


77.png


•丰富的转发特性

  1. 基于 Header、Cookie 转发。
  2. 域名 URL 转发:支持根据不同的域名和 URL 进行流量调度,提升应用系统灵活性。


•高弹性大吞吐

  1. 性能保障型实例:推出性能保障型实例,实现不同实例间的性能隔离,提供相应规格下的性能保障。
  2. 超大性能规格:针对高性能需求,提供超大规格的负载均衡实例,解决性能瓶颈问题。


•面向云原生应用

  1. 基于原生 Kubernetes Ingress
  2. 天然支持阿里云容器服务 Kubernetes 产品
  3. 兼容 Nginx Ingress 语义


•更安全可靠

  1. ALB 自带 DDoS 防护,可一键集成 Web 应用防火墙。
  2. 集成 WAF 防护能力
  3. 支持持全链路 HTTPS 加密,支持 TLS 1.3 等高效安全的加密协议。


ALB Ingress Controller 架构


ALB Ingress Controller 架构如下:


88.png


image.gif实例级别配置

•自定义 CR:ALBConfig


并发控制

•同一个 Lb 串行变配,不同 Lb 并行变配。

•同一个 RsPool 串行变配,不同 RsPool 并行变配。

•Lb 变配和 Rs 变配相互独立


限速控制

•Controller 同时处理的 Lb 变配和 Rs 变配分别可配置

•Controller 每秒处理的 Lb 变配和 Rs 变配分别可配置

•当 Lb 变配或 Rs 变配失败,重新 Reconcile 的时间控制、重试次数、重试间隔分别可以配置。


Knative 流量管理


那么有了这个桥梁,我们可以很方便的将 ALB 作为 Knative 网关使用,这里我们先介绍一下 Knative 的流量管理。


Knative 提供了强大的流量管理能力,包括:基于流量的灰度发布、基于流量的自动弹性以及请求事件驱动的能力。


99.png


Knative 结合 ALB 的实现


接下来我们看一下 Knative 结合 ALB 的实现。这里关键设计:将 Knative Ingress 转换成 Kubernetes Ingress, 然后通过 ALB Ingress Controller 创建 ALB 以及转发规则。
image.gif

100.png


Knative 与 ALB 结合优势


那么 Knative 与 ALB 结合给我们带来了哪些呢?


  • 网关全托管、免运维
  • 基于流量弹性
  • Header/Cookie/权重灰度发布
  • 自动证书发现


111.png


MSE 云原生网关


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


122.png


MSE 云原生网关 - 与 ASK 集成支持微服务能力


云原生网关默认集成了容器服务 ASK,支持一键导入 Kubernetes 服务且自动同步 Endpoint;且自研 Multi-Ingress Controller 组件支持多 ASK 集群复用同一个网关实例,支持 Nginx Ingress 核心功能注解的无缝转换。这里只做简单的介绍,更多 MSE  云原生网关内容,可以关注后续的专门介绍。


133.png


使用场景


Serverless Kubernetes 目前支持的场景包括高弹性互联网场景、视音频行业低延迟场景、面向云原生应用场景等按需使用场景。结合 ALB 网关,可以实现新功能上线灰度发布,业务流量仿真,结合 MSE 云原生网关,可以在微服务架构最后实现快速服务发现。


144.png


小结


Severless Kubernetes 网关增强:


•Knative 与 ALB 集成,提供更应用感知 Serverless。

•支持 MSE 云原生网关,提供微服务场景能力。


联系我们


欢迎加入以下钉钉群,有兴趣的可以多多交流:


155.png

相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
11月前
|
人工智能 Serverless 调度
突破地域限制,实现算力无限供给 —阿里云ACK One注册集群开启多地域Serverless算力调度
本文介绍了阿里云ACK One注册集群多地域Serverless算力调度解决方案,解决传统数据中心在AI时代面临的算力不足问题。方案通过分钟级接入、100%兼容Kubernetes操作及云上Serverless弹性,实现跨地域弹性算力供给,支持高并发请求与模型快速迭代。文中详细描述了快速接入步骤、指定地域调度及动态调度方法,并提供了相关代码示例。该方案助力企业实现AI推理服务的规模化部署,提升商业落地效率。
|
11月前
|
人工智能 Serverless 调度
突破地域限制,实现算力无限供给 -- 阿里云ACK One注册集群开启多地域Serverless算力调度
传统单地域算力难以支撑AI推理场景的高并发实时响应、突发高流量的要求,阿里云容器服务ACK One注册集群推出多地域Serverless算力调度方案完美解决此问题。
|
Kubernetes 监控 Serverless
基于阿里云Serverless Kubernetes(ASK)的无服务器架构设计与实践
无服务器架构(Serverless Architecture)在云原生技术中备受关注,开发者只需专注于业务逻辑,无需管理服务器。阿里云Serverless Kubernetes(ASK)是基于Kubernetes的托管服务,提供极致弹性和按需付费能力。本文深入探讨如何使用ASK设计和实现无服务器架构,涵盖事件驱动、自动扩展、无状态设计、监控与日志及成本优化等方面,并通过图片处理服务案例展示具体实践,帮助构建高效可靠的无服务器应用。
|
缓存 容灾 网络协议
ACK One多集群网关:实现高效容灾方案
ACK One多集群网关可以帮助您快速构建同城跨AZ多活容灾系统、混合云同城跨AZ多活容灾系统,以及异地容灾系统。
|
运维 Kubernetes 大数据
Kubernetes 的架构问题之在Serverless Container场景下尚不支持资源超售如何解决
Kubernetes 的架构问题之在Serverless Container场景下尚不支持资源超售如何解决
192 0
|
应用服务中间件 API nginx
微服务从代码到k8s部署应有尽有系列(二、网关)
微服务从代码到k8s部署应有尽有系列(二、网关)
|
9月前
|
应用服务中间件 网络安全 数据安全/隐私保护
网关服务器配置指南:实现自动DHCP地址分配、HTTP服务和SSH无密码登录。
哇哈哈,道具都准备好了,咱们的魔术秀就要开始了。现在,你的网关服务器已经魔法满满,自动分配IP,提供网页服务,SSH登录如入无人之境。而整个世界,只会知道效果,不会知道是你在幕后操控一切。这就是真正的数字世界魔法师,随手拈来,手到擒来。
464 14
|
监控 负载均衡 安全
微服务(五)-服务网关zuul(一)
微服务(五)-服务网关zuul(一)
|
安全 5G 网络性能优化
深入理解5G中的SAEGW:服务网关边界
【10月更文挑战第9天】
578 0
|
运维 Kubernetes 安全
利用服务网格实现全链路mTLS(一):在入口网关上提供mTLS服务
阿里云服务网格(Service Mesh,简称ASM)提供了一个全托管式的服务网格平台,兼容Istio开源服务网格,用于简化服务治理,包括流量管理和拆分、安全认证及网格可观测性,有效减轻开发运维负担。ASM支持通过mTLS提供服务,要求客户端提供证书以增强安全性。本文介绍如何在ASM入口网关上配置mTLS服务并通过授权策略实现特定用户的访问限制。首先需部署ASM实例和ACK集群,并开启sidecar自动注入。接着,在集群中部署入口网关和httpbin应用,并生成mTLS通信所需的根证书、服务器证书及客户端证书。最后,配置网关上的mTLS监听并设置授权策略,以限制特定客户端对特定路径的访问。
489 2

相关产品

  • 容器服务Kubernetes版
  • 函数计算
  • 推荐镜像

    更多