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

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
可观测可视化 Grafana 版,10个用户账号 1个月
简介: 这里给大家介绍一下如何在 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

相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
云原生实践公开课
课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
12天前
|
Kubernetes 安全 Serverless
破茧成蝶 - Serverless Kubernetes 的思考与征程(二)
本文将针对 Serverless Container 技术的特殊性,分享其对 Kubernetes 的架构影响,以及阿里云在Serverless Kubernetes方面架构选择。
|
12天前
|
Kubernetes 安全 Serverless
没有银弹,只有取舍 - Serverless Kubernetes 的思考与征程(一)
Kubernetes作为云原生计算的基础项目,已经在开发者和企业中获得广泛的支持。然而其自身复杂性和陡峭的学习曲线依然让人望而生畏。在 CNCF 2020年度调研报告中,在Kubernetes技术落地过程中面临最大的挑战就是复杂性。
|
14天前
|
运维 负载均衡 Cloud Native
Serverless 应用引擎产品使用之在Serverless 应用引擎中,使用云原生网关的情况下,SLB(负载均衡器)和证书配置如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
22 1
|
2月前
|
人工智能 监控 Serverless
如何基于ACK Serverless快速部署AI推理服务
通过上述步骤,可以在ACK Serverless上快速部署AI推理服务,实现高可用、弹性扩展的服务架构。
27 1
|
4月前
|
弹性计算 Kubernetes Serverless
Serverless 版 ACK Serverless 是
阿里云容器服务 Serverless 版 ACK Serverless 是一种基于弹性计算基础架构的容器服务,它兼容 Kubernetes 生态,允许用户在无需管理和维护集群的情况下,快速创建和部署容器化应用程序。ACK Serverless 根据应用程序实际使用的 CPU 和内存资源量进行按需付费,使您能够更专注于应用程序本身,而无需担心底层基础设施。
119 2
|
5月前
|
机器学习/深度学习 运维 安全
阿里云 ACK One Serverless Argo 助力深势科技构建高效任务平台
阿里云 ACK One Serverless Argo 助力深势科技构建高效任务平台
101185 8
|
5月前
|
存储 运维 Cloud Native
函数计算与云原生网关不仅可以搭配使用
函数计算与云原生网关不仅可以搭配使用
113 2
|
8月前
|
运维 Kubernetes 监控
基于 Kubernetes 的 Serverless PaaS 稳定性建设万字总结
本文将侧重于实际落地而非方法论,阐述云产品 SAE 业务侧稳定性实际建设过程中的经验和思考。
156618 10
|
8月前
|
运维 Kubernetes 监控
基于Kubernetes的Serverless PaaS稳定性建设万字总结
本文将侧重于实际落地而非方法论,阐述云产品 SAE 业务侧稳定性实际建设过程中的经验和思考。
|
8月前
|
Prometheus 监控 Cloud Native
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ASK 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
524 0

相关产品

  • 容器服务Kubernetes版
  • 函数计算