当您需要观测多个集群的流量拓扑,可以使用托管模式的网格拓扑功能。托管模式将网格拓扑服务以弹性容器实例(ECI)的方式部署,提高服务可靠性和易用性。整个网格实例只需要部署一个网格拓扑服务,减少配置的工作量。
前提条件
已创建Kubernetes集群。具体操作,请参见创建Kubernetes托管版集群。
已添加集群到ASM实例,且ASM实例版本为1.18.2.112及以上。
已自建Prometheus或集成可观测监控Prometheus版实现网格监控。具体操作,请参见集成自建Prometheus实现网格监控或集成可观测监控Prometheus版实现网格监控。
功能介绍
网格拓扑作为一个服务网格可观测性工具,提供查看相关服务与配置的可视化界面,帮助您快速评估应用服务的健康状况。网格拓扑提供网格流量的强大可视化功能,将实时请求流量与网格配置信息相结合,提供对服务网格行为的即时洞察,帮助您快速查明问题。
服务网格ASM自1.18.2.112版本起,支持以托管模式开启网格拓扑。相比之前版本仅支持将其部署到数据面Kubernetes集群内的方式,托管模式网格拓扑在多集群统一观测、配置复杂性、服务可靠性方面具有更大优势。
网格拓扑能够通过以下两种部署模式进行启用。这两种模式在配置复杂度、服务可靠性等方面存在差异。
数据面Kubernetes集群内部署模式
在数据面Kubernetes集群内部署模式下,服务网格实例中的每个数据面集群都单独部署一个网格拓扑服务实例。数据面Kubernetes集群内部署的特点如下:
每个数据面集群都分别部署一个网格拓扑服务,每个网格拓扑服务分别对接自己所在集群的Prometheus实例,对本集群内服务的流量拓扑进行观测。
每个数据面集群中的网格拓扑服务需要分别进行配置,具有多个访问端点,配置复杂性较高。
网格拓扑服务的可用性受到数据面集群影响,可能出现数据面集群资源不足等问题导致服务不可用。
托管模式
服务网格ASM从1.18.2.112版本开始,支持以托管模式开启网格拓扑。托管模式将网格拓扑服务以弹性容器实例(ECI)的方式部署,提供更高的服务可靠性与易用性。托管模式的特点如下:
整个网格实例只部署一个网格拓扑服务,具有统一观测多集群流量拓扑的能力。
网格拓扑服务无需针对不同集群进行分别配置,减少配置工作量。
网格拓扑服务的工作负载以弹性容器实例(ECI)的方式部署,提供更高的服务可靠性。
步骤一:启用托管模式的网格拓扑
您只能在启用网格拓扑时选择以托管模式启动。如果您已启用网格拓扑,请先关闭网格拓扑功能,然后重新开启。
登录ASM控制台,在左侧导航栏,选择 。
在网格管理页面,单击目标实例名称,然后在左侧导航栏,选择 。
在网格拓扑页面,单击托管模式,然后单击开始启用。
在启用托管模式网格拓扑对话框,配置相关信息,然后单击确定。
配置项
说明
观测集群
选择需要被网格拓扑服务观测的数据面集群,支持多选。在托管模式下,整个服务网格实例仅存在一个网格拓扑服务。
重要配置数据面集群可被网格拓扑服务观测,表明网格拓扑工作负载将具有您数据面集群中Service、Pod、Namespace、Deployment、Replicaset、Endpoints、Node资源的只读权限,同时具有集群istio-system命名空间下istio和istio-sidecar-injector ConfigMap资源的只读权限。
网格拓扑工作负载以弹性容器实例(ECI)形式部署在控制面,表明在此ECI实例内将有可能同时具有多个集群的上述资源的只读权限,请充分知晓后选择观测集群。
配置Prometheus地址
配置网格拓扑服务依赖的Prometheus实例访问地址。
如果选择观测单个集群,可以直接使用该集群集成的Prometheus实例的HTTP API地址。如果使用可观测监控Prometheus版实例,请参见HTTP API地址使用说明获取地址。
如果选择观测多个集群,需要确保依赖的Prometheus实例已采集所配多个集群中的Envoy监控指标。如果使用可观测监控Prometheus版实例,可为多个集群的Prometheus实例创建聚合Prometheus实例,并获取聚合Prometheus实例的HTTP API地址。更多信息,请参见Prometheus实例 for GlobalView。
访问方式
托管模式的网格拓扑支持通过创建负载均衡CLB来直接访问网格拓扑,或者使用ASM网关访问网格拓扑。您可以选择是否创建负载均衡CLB访问网格拓扑。
如果不选择创建负载均衡CLB来访问ASM网格拓扑,在开启之前,请参考
开启网格拓扑提高可观测性的步骤二:访问网格拓扑中的方式二:使用ASM网关访问网格拓扑,配置使用ASM网关访问网格拓扑,并记录网关地址。
身份认证
托管模式的网格拓扑仅支持通过阿里云账号身份登录方式或OIDC方式进行鉴权。
阿里云账号身份登录:如果您在访问方式中没有选择创建负载均衡CLB访问ASM网格拓扑,您需要配置网格拓扑访问地址。该地址为访问方式中配置的ASM网关地址。
OIDC登录:您需要配置idP的ClientID、ClientSecret和IssuerUri三个字段。关于idP的配置信息,请参见步骤二:添加和配置OIDC应用。
步骤二:访问网格拓扑
在托管模式下,网格拓扑支持通过创建负载均衡CLB来直接访问ASM网格拓扑,或者使用ASM网关访问网格拓扑。具体操作,请参见开启网格拓扑提高可观测性的步骤二:访问网格拓扑中的方式一:直接访问网格拓扑和方式二:使用ASM网关访问网格拓扑。
相关文档
如果您发现某些请求耗时异常,可以通过访问日志定位请求异常延迟的原因。具体操作,请参见通过访问日志定位请求异常延迟的原因。
如果您需要在客户端对一个目标服务的访问过程中,使流量尽可能的在同一个可用区内流转,以保证服务间的调用延迟最低,可以使用同可用区优先路由功能。具体操作,请参见使用网格拓扑观测同可用区优先路由。
您可以通过可观测链路OpenTelemetry版控制台,查看调用信息和基于调用信息生成的拓扑图等,快速分析和诊断性能瓶颈,提高诊断效率。具体操作,请参见将链路追踪数据采集到阿里云可观测链路OpenTelemetry版。
您可以启用网格审计功能,记录或追溯不同用户的日常操作,也可以为网格资源操作配置审计告警,在重要资源变动时及时发出告警通知到告警联系人。具体操作,请参见使用KubeAPI操作审计和为网格资源操作配置审计告警。
ASM能够减少云原生环境中的被攻击面积,并提供零信任应用网络所需的基础框架。通过ASM管理服务到服务的安全性,可以确保ASM的端到端加密、服务级别身份认证和细粒度授权策略。更多信息,请参见零信任安全概述。