进阶课程:如何在 ACK 中使用 MSEIngress|学习笔记(二)

简介: 快速学习进阶课程:如何在 ACK 中使用 MSEIngress

开发者学堂课程【5分钟玩转阿里云容器服务进阶课程:如何在 ACK 中使用 MSEIngr ess】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/1038/detail/15868


进阶课程:如何在 ACK 中使用 MSE Ingress  


内容介绍:

二、MSE Ingress 优势


二、MSE Ingress 优势

1.MSE Ingress简介

(1)传统的网关:

image.png

传统网关从端、流量进会先 WAF 流量防护,然后再进负责南北向流量网关、微服务网关,负责东西向流量调度及服务治理,包括微服务进 IDC 后多个微服务的业务域之间微服务的整个调用。

高集成的网关:

image.png

(2)新一代网关

流量网关、微服务网关、安全网关三合一,带来的运维成本,经济成本下降。

统一东西南北向流量,北向流量进可以走网关,西向流量进也可以走网关,可以统一的运用流量控制的规则。

集成 WAF 数据面,一般的 WAF 集成方式是流量必须经过 WAF 清洗后再返回继续走网关,现在是相对于只集成了 WAF 的数据面,对于 WAF 本身只是一个控制面,只需要把安全的路由规则下发到今天的整个网关,这样方便整个的流量清洗,提升整个性能,对整个链路的请求会更少。

云厂商独立一个产品的原因是可以让产品的定位和实现更简单,阿里云为了降低使用成本和降低使用体验,我们把最高集成的网关分为产品化的集成,这样通过 MSE Ingress 云原生网关加上 WAF 两个集成在一起对用户的成本也会大幅的下降。 MSE Ingress 的实现就是云原生网关。

2.MSE Ingress 功能优势

image.png

(1)安全认证:

在安全领域,支持标准的 JWT 等各种登录模式,如果认为做一个登录认证体系的代价比较大,云原生网关集成了整个阿里云的 IDaaS,简单的在控制台上配置就可以直接的支持支付宝、微信等三方认证登录认证方式。对有自己的网关又不符合标准的,支持自定义的一个网关的机制。其次在流量控制上,完成了 Waf 的很好的集成,点击按钮就可以开启一个 Waf 防护。

(2)服务治理:

MSE Ingress 也跟阿里云安全能力一起合作,定期会对整个 MSE Ingress 云原生网关进行一些安全的攻防演练,提前识别一些风险,给大家更好的一个保障。第二个是因为整合了微服务的一个能力云原生网关,所以在服务治理能力上是非常强的,支持多种服务发现机制,在微服务领域中的金丝雀、蓝绿等各种按比例的一些分发的策略都是支持的。  

(3)可观测等功能:

在可观测上,支持了产品去整合,可以观测对于网关来说入口非常关键的,因此可观测有一个一站式的一个解决方案。在扩展性上也支持了一个插件市场,提供了一些默认的插件,降低用户开发插件的成本,也支持了用户自己去自定义自己的一些插件。这个就是现在整体的些个功能,包括弹硬伸缩能力。为了更把让大家更充分的去享受云的一些弹性的红利,看到通过今天原生网关对整个 MSE Ingress 把阿里云的安全能力、可观测能力,包括恢复的能力一键整合,开箱即用。让满足了大家一站式享受了整个阿里云统一接入的能力。

(4)高集成:

服务发现对接阿里云容器服务 ACK。

Waf 对接阿里云 Web 应用防火墙 WAF。

Access Log 支持阿里云日志服务 SLS 与应用实时监控服务 ARMS。

Tracing 支持阿里云链路追踪。

Metrics 与报警支持阿里云应用实时监控服务 ARMS_。

集成限流降级 Sentinel。

3.MSE Ingress 可用性优势

image.png

关心网关是否稳定的,因为入口如果出故障,流量一跌会造成全局的跌。为什么 MSE Ingress 网关稳定性强,第一点是因为其是从阿里巴巴2020年就开始,目前已经在阿里巴巴大规模的推广,并且经过了两年双十一的海量规模请求的验证,其稳定性非常高。第二点是因为有两年多的一个积累,包括阿里内部的一个丰富的经验,MSE Ingress 在稳定性上也做了非常多的积累,从研发时到整个变更时。 在最早落地网关的时,有一次在预发日常环境测试时,API 就是 K8s API server突然断了,这就会导致整个网关拿不到 Ingress 资源,导致流量路由全部跌停。该类事情发生对我们来说风险较高,因此在这个时间就推出本地缓存机制,这样就是一个面对室外设计,当整个K8s Ingress或者依赖的下端的一些服务来源断了之后,依然保证整个链路是可用的,提升了整个网关的整个高可用。当然其中还有很多其他的一些高可用的设计。

4.MSE Ingress性能优势

(1)采用 Envoy 内核 TPS 比 Nginx Ingress 高出约90%

image.png

网关规格:16核32G*4节点

ECS 型号:ecs.c7.8xlarge

(2)采用硬件加速 HTTPS QPS 提升约86%,RT下降50%

加速前:

image.png

加速后:

image.png

注:测试采用 HTTPS 短链路连接且关闭 session ticket 复用。

网关规格∶1核2G*1节点

(3)结合阿里大规模生产经验对 OS 内核参数与 Envoy 调优,QPS性能提升约40%。

MSE Ingress 的性能比自建高一倍以上,可以通过 QPS 加测体验。

5.MSE Ingress 安全优势

(1)云原生网关内部实现的架构:

image.png

在该架构中,非常灵活扩展了多重防护的能力,体现在以下方面。

(2)优势

(2.1)mTLS 双向认证

·集成阿里云证书服务自动更新(防止证书过期带来一些稳定性问题,帮用户解决了稳定性的入口)

·支持 mTLS 双向认证,零信任

·支持硬件加速

优势是 MSE Ingress 跟阿里云的运动产品进行集成,会动态更新,防止证书过期带来的一些稳定性的问题。维阿里的统一接入层时,也遇到过很多证书更新不及时导致整个入口流量下跌的风险,因此帮用户从入口解决了这个稳定性的一个风险,降低整个运维成本。第二个是刚才在上一篇说的该点是通过阿里云的硬件加速,是让该处的性能会有更卓越的表现,这就是在双向认证上的安全能力。

(2.2)登录认证

·支持 JWT/OIDC/ 自定义多种认证登录机制

·集成 IDaaS 对接支付宝,淘宝等三放认证

·支持黑白名单

支持多种标准,集成了 IDaaS ,一站式可以直接对接支付宝,淘宝所有的登录模式,很多的一些中台客户,包括电商领域其实都是采用的这种模式,而且有很多公司其实对包括出现一些安全攻防的时候,MSE Ingress 有一些黑白名单的机制,可以在这个更细力度的 IP 段支持黑白名单进一步增加整个登录的范围,提升管理效率。

(2.3)流量防护

·支持应用级和服务级流量控制.

·Web 应用防火墙( WAF )

·更短用户的请求链路

·支持路由级防护能力

可以支持应用级和服务级的细力度的流量防护能力,包括在继承 WAF 之后,集成 WAF 的优势是流量不过 WAF ,WAF 只是控制面了,然后请求的路径会更短,稳定性更高。然后集成 WAF 后可以做到服务级和路由级,是更新力度的防护,当某一个 url 被攻击的时候,可以进行更细力度的管控。还支持 WASM 扩展机制,在扩展机制中提供了二十来种安全的一个默认的插件,可以按需取用。

(2.4)自定义插件

·提供默认安全增加组件

·支持多语言自定义扩展 (支持自定义的插件能力)

(2.5)内核优势

·采用数据面+控制面分离架构,防止控制面风险外溢到数据面

·采用 WASM 扩展机制,控制操作范围

·采用 Envoy 内核安全规则热更新

6.MSE Ingress 扩展性优势

image.png

(1)规则下发是动态更新的:

左边是 MSE Ingress 的内核和 Filters,Custom Filters 方便自定义扩展自己的插件,基于控制面,xdx 协议会把服务对应得规则推送到自定义的规则中。

(2)借助WASM特性支持多语言扩展

(3)网关Wasm插件与开源Envoy 100%兼容,不存在锁定

(4)提供插件市场,网关的二次扩展功能均通过插件提供给用户按需使用插件采用热更新机制,在沙盒中执行,对网关自身稳定性无影响

7.MSE Ingress 协议优势

image.png

传统─种方法是暴露 dubbo/http 两个接口,研发成本高,另一种方法是开发 http 转 dubbo 网关研发和运维成本高

优势︰

·符合 HTTP 到 Dubbo 协议社区标准 ·高性能(内核支持转换+调优)

·易用性(白屏/自动补全)

·支持从 Nacos 订阅 Dubbo 服务

·支持从 Zookeeper 订阅 Dubbo 服务

因为 Dubbo 是一个国内使用非常主流的一个框架,是微服务体系。但是对于网关之外的整个外网,一般都是 rtp 协议,内网是 Dubbo 协议,那对于研发开发者面临的一个问题就是怎么把一个 Dubbo 服务最低成本的暴露成一个 rtp 的服务,通过本项网关出去。传统的公司一般解法有两个,第一个解法当需要暴露到这本项网关,出去的时候,再开发在代码里写 rtp 一个服务去暴露,这样的话开发成本较高。接口不能复用,在后面包括参数的维护,可能同样的一个结口 rtp 要暴露一个,Dubbo 暴露一个,整个代码维护成本会比较高。第二种是行业中比较多的,其会在家流量网关下加云原生网关或者是协议转换的集成网关。在解决 rtp 到 Dubbo 协议的转换,但是会导致运维成本比较高。

我们的做法是把 rtp 到 Dubbo 协议的转化就在 MSE Ingress 的云原生网关默认集成。并且符合离到 Dubbo 转化的社区的标准,我们做了非常多的性能和应用性的一个提升,大家可以体验一下,并且云原生网关支持多种服务发现机制,方便客户用户可以一站式的支持K8s的服务发现模式和 numbers服务发现模式,并且支持 rtp 和 Dubbo 协议转化。  

8.MSE Ingress 兼容优势

image.png

虽然采用 envoy 内核,但是兼容 K8s 的标准规范,并且支持 Nginx Ingress 80%以上的核心注解的扩展,可以从自建的 Nginx Ingress 迁到云原生网关是毫无障碍的。长期上社区是往 getaway api 标准上去演进,目前 MSE Ingress 从整个内核上支持了该能力,在近期可能会通过控制台把 getaway api 的支持放出。

作为云原生网关,还有两个比较大的优势,第一是数据面、控制面分离后我们可以动态的监听该服务,实时的推送到网关。第二是因为数据面相对比较独立,可以把用户多个 ACK 集群中的服务通过一个网关去做分发,这样的操作性和灵活性会非常好。

(1)优势

·支持 ACK 集群内服务的自动同步

·支持多 ACK 集群复用一个网关实例

·支持 K8s Ingress 规范

·支持 Nginx Ingress 核心注解扩展

·支持 Gateway API 标准(待发布)  

相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
云原生实践公开课
课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
9月前
|
消息中间件 Java Apache
|
消息中间件 前端开发 NoSQL
10、课程发布
课程发布后将生成正式的课程详情页面,课程发布后用户即可浏览课程详情页面,并开始课程的学习。
102 0
10、课程发布
|
消息中间件 监控 Java
手把手系列:消息队列 MNS 实操讲|学习笔记
快速学习手把手系列:消息队列 MNS 实操讲
575 0
手把手系列:消息队列 MNS 实操讲|学习笔记
|
小程序
《小程序云应用入门实操系列课程 - 第四讲》电子版地址
小程序云应用入门实操系列课程 - 第四讲
60 0
《小程序云应用入门实操系列课程 - 第四讲》电子版地址
|
Kubernetes Cloud Native 安全
进阶课程:如何在 ACK 中使用 MSEIngress|学习笔记(四)
快速学习进阶课程:如何在 ACK 中使用 MSEIngress
82 1
进阶课程:如何在 ACK 中使用 MSEIngress|学习笔记(四)
|
运维 Kubernetes Cloud Native
进阶课程:如何在 ACK 中使用 MSEIngress|学习笔记(三)
快速学习进阶课程:如何在 ACK 中使用 MSEIngress
128 0
进阶课程:如何在 ACK 中使用 MSEIngress|学习笔记(三)
|
运维 Kubernetes 安全
进阶课程:如何在 ACK 中使用 MSEIngress|学习笔记(一)
快速学习进阶课程:如何在 ACK 中使用 MSEIngress
90 0
进阶课程:如何在 ACK 中使用 MSEIngress|学习笔记(一)
|
消息中间件 Java Maven
【实战】手把手教你从 0 到 1 搭建一套 RocketMQ 集群
大家好,我是君哥。今天来分享怎样搭建 RocketMQ 集群。
196 1
【实战】手把手教你从 0 到 1 搭建一套 RocketMQ 集群
|
存储 弹性计算 运维
进阶课程:在 ACK 中如何使用容器优化的操作系统|学习笔记(一)
快速学习进阶课程:在 ACK 中如何使用容器优化的操作系统
132 0
进阶课程:在 ACK 中如何使用容器优化的操作系统|学习笔记(一)
|
弹性计算 运维 监控
进阶课程:在 ACK 中如何使用容器优化的操作系统|学习笔记(二)
快速学习进阶课程:在 ACK 中如何使用容器优化的操作系统
119 0
进阶课程:在 ACK 中如何使用容器优化的操作系统|学习笔记(二)

热门文章

最新文章