通过服务网格ASM,可以简化微服务部署架构下微服务的治理。本文介绍如何快速将应用部署到ASM。
操作步骤
步骤 | 操作 | 说明 |
1 | 在使用服务网格ASM之前,您需要创建一个ASM实例,对应用服务进行流量管理、安全管理、故障恢复、观测监控等。 | |
2 | 部署在服务网格中的应用实际上运行于集群之上,因此需要先给ASM实例添加Kubernetes集群。 | |
3 | 入口网关为Kubernetes集群提供了七层网关功能,对外提供一个统一的七层服务入口,根据HTTP请求的内容将来自同一个TCP端口的请求分发到不同的Kubernetes服务。 | |
4 | 为ASM实例添加入口网关后,即可部署应用到该实例关联的集群。 | |
5 | 版本流量路由是指将流量按照比例路由到服务的不同版本,适用于灰度发布和A/B测试等场景。您可以使用Istio资源实现版本流量路由。 | |
6 | 网格拓扑是一个服务网格可观测性工具,提供了查看服务行为的可视化界面。您可以通过网格拓扑查看工作负载之间的调用关系、流量走向。 |
FAQ
为什么不能使用ASM实例的KubeConfig部署应用?
ASM控制台提供的KubeConfig配置用于连接ASM实例,并通过kubectl对Istio CRD(自定义资源)进行操作,例如虚拟服务VirtualService。Istio资源在控制平面进行操作,无法在控制平面部署应用。
为什么不能在ASM管理的集群中部署Istio的虚拟服务等CRD资源?
Istio资源在控制平面进行操作,连接的KubeConfig也是控制平面提供的配置。
为什么不直接使用集群的连接配置操作Istio资源?
Istio CRD对应的资源保存在控制平面,控制平面会将对应的规则转换成Sidecar里的规则并进行应用。
服务网格控制平面的命名空间与数据平面集群的命名空间有什么区别?
通过服务网格ASM控制台或者使用ASM KubeConfig定义的命名空间隶属于ASM实例本身,与该ASM管理的数据平面集群是相对独立的,因此ASM托管的控制平面的命名空间可以与数据平面集群的命名空间存在不同的情况。即在服务网格ASM控制台新增或者删除命名空间,并不会影响数据平面Kubernetes集群的命名空间。