开发者学堂课程【5分钟玩转阿里云容器服务:进阶课程:如何在 ACK 中使用 MSEIngr ess】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/1038/detail/15868
进阶课程:如何在 ACK 中使用 MSE Ingress
内容介绍
五、注意的问题
五、注意的问题:
1.MSE Ingress 云原生网关和 ALB 网关的区别?
同学在选择云原生网关的时候,有很多选择,其中的一个选择云原生网关,一个是自建一个是 ALB ,可能同学不知道选哪个比较好。阿里巴巴的整个 ALB 、SLB的内核本质是 nginx,这种网关的其实是可以叫做网关,但是 ALB 、SLB 从产品定位上叫网源。网源,其实是做四层负载和弱集成的路由能力。其实可以看到,在这个 ALB 的整个体系中,没有微服务,没有服务的概念,只能做一些简单的弱基层的路由能力。
其选择的一个方式是啥呢?举个例子,对于没服务的一些中小客户,用四层的负载加上一些简单的路由能力,甚至微服务没有,只要 ALB 对于用户来说是更简单的一种选择。但是对于阿里云的一些头部客户、大客户而言,因为他对整个微服务能力和安全的扩展能力要求比较高。选择云原生网关对微服务能力和安全的能力和扩展性,会知支持的更好。
2.看到下面的图片,可以看到在这张图上,每个领域之前都有自己的一个产品,其实上面更多的是讲流量网关,之前我们团队做的是微服网关,往上做把这两个合二为一,包括安全能力合二为一,这是我们的定位。其实更多的是 twoc,也就是相当于每个客户有对消费者的一个领域,那我们更多解决这个问题。
API 网关定位很大的一个能力是是集成。举个例子,包括 LWS 网关有一天非常火,原因是什么呢?开一家公司有很多 sasi,有一个接口要暴露给下游去计费,所以说到权限管理计量计费,对于 twob 的场景 API 网关是非常强的。比如说我做一个高德,高德上面有很多打车软件,他调我是按量付费,其实需要的 API 网关会统计调用次数,计量计费,这方面做的非常好。还有一些用户比如说之前讲了很多用户,我们之前叫 ipas 集成网关,设计比如说新老系统,老系统可能是 hdb,新系统是dobbo 。还有其他一些传统协议,这样的话,新老系统一般没有人愿意老系统,开发新的系统在用新的架构,新老系统之间用集成网关,包括我们支持 ltb 到 dobbo的协议转换,支持 LTB 到 gpc 的一些互通转换。本质上做的是这个领域相关的一些事情,因此可以看到我们今天和 api网关的定位从领域上一个是 twoc 领域一个是 twob 领域。
3.因为我们最近跟 ACK 团队在合作了,上面的 controller 是一种创建的模式,然后预计在1~两个月之内跟 ACK 在创建 Ingress 创建网关的过程中也会增加一个集3成。
简单的介绍:回到这个控制台,说目前来看,网络这边只有服务和路由,在未来一到两个月会在里面加一个网关,网关里就可以创建 lb 的 Ingress 网关,MSE Ingress 网关或者用户自建的网关,这是第一步。第二个就是在路由会天然的增加,在这里面的 Ingress的资源聚合到一起,下拉会支持 lb 多种 Ingress 资源的定义模式,并且在整个 K8s 的创建过程中,未来现在可以选 Nignx 自建或者是 lb Ingress 未来会增加 MSE Ingress 的一个入口。
4.创建云原生网关到 controller 其实有两个地方,一个地方是说在整个应用市场微服务中可以创建 Ingress controller,这是一个路口。另外一个是进入整个集群之后,在整个应用的 Helm 中,也可以创建这个对应的这个云原生网关。创建云原生网关之后,目前只是 controller ,如果还要创建网关,要到自定义资源通过 Helm,然后把网关真正的创出来。
5.因为上面只是演示了最基础的,你要是只有网关一个产品的话,那只能染色到下面的一个。
包括应用一,应用二相互的调用过程中,其实就是回到一个系统,这个系统就是整个微服务体系。上面在入口染色之后需要开通阿里的服务治理,然后把标一路带下去,才能达到全面入灰度的能力,目前该灰度能力我们已经具备,因为是 MSE 包括全链路灰度,我们都是一个团队,正在做一个产品化的集成,预计一到两个月之内,就会把这个全链路的灰度能力通过产品化的方式去集成,第一个就是 ACK 和 MSE 网关,包括微服体系可以做到全链路灰度。
第二个无论采用什么,我们也在做合作,也会支持这个全链路灰度的能力。
6.controller 就是大家一定是不同的 controller,但是上面的 Ingress 资源全部是一样的,就是通过 Ingress 定义的资源,这边也可以读到,读到我的路由和你完全是同等的效果。
可能在过渡期间需要安装一个 nginx,一个 MSE Ingress 的 controller,一个是两个 controller 并行。但是所有的能力路由全是一致的,而且能兼容 nginx Ingress 80%以上核心的场景。但是能不能复用这个一定是做不到的,但是对于使用者而言,应该是体会不到差别的。
回到路由的页面,可以看到,这里面的资源全部是通过 Ingress 的样目的标准方式去创建的,没有说在 MSE 上自己创造一堆的资源,是兼容了标准的 nginx 的所有的注解,因此没有任何的绑定,对用户也是平滑的。