网格拓扑是一个服务网格可观测性工具,提供了查看相关服务与配置的可视化界面。ASM从1.7.5.25版本开始支持内置网格拓扑。本文介绍如何通过ASM控制台开启网格拓扑的可观测性。
前提条件
- 已创建容器服务托管版集群。具体操作,请参见创建Kubernetes托管版集群。
- 已创建ASM实例。具体操作,请参见创建ASM实例。
- 已为集群添加入口网关。具体操作,请参见创建入口网关服务。
- 已自建Prometheus或集成ARMS Prometheus。具体操作,请参见集成自建Prometheus实现网格监控或集成ARMS Prometheus实现网格监控。
启用网格拓扑
在创建ASM实例时启用网格拓扑
- 登录ASM控制台。
- 在左侧导航栏,选择 。
- 在网格管理页面,单击创建新网格。
- 在创建新网格面板选中开启采集Prometheus监控指标,然后选中启用ASM网格拓扑提升网格可观测,其他参数配置,请参见创建ASM实例,最后单击确定。说明
- 选中开启采集Prometheus监控指标,只是开启采集服务网格实例指标功能,并不会自动创建ARMS实例或者自建的Prometheus实例。
- 去掉选中开启采集Prometheus监控指标和启用ASM网格拓扑提升网格可观测,就可以关闭网格拓扑。
在编辑ASM实例时启用网格拓扑
- 登录ASM控制台。
- 在左侧导航栏,选择 。
- 在网格管理页面,找到待配置的实例,单击实例的名称或在操作列中单击管理。
- 在网格管理详情页面右上角单击功能设置。
- 在功能设置更新对话框中选中开启采集Prometheus监控指标,然后选中启用ASM网格拓扑提升网格可观测,最后单击确定。说明 去掉选中开启采集Prometheus监控指标和启用ASM网格拓扑提升网格可观测,就可以关闭网格拓扑。此时再重新开启网格拓扑,将会是全新的网格拓扑。
访问网格拓扑
使用Ingress Gateway访问网格拓扑
- 添加入口网关服务。具体操作,请参见创建入口网关服务或使用KubeAPI管理入口网关。
- 为入口网关添加以下端口配置,以支持网格拓扑访问。具体操作,请参见网关CRD字段说明。
- name: http-kiali port: 20001 protocol: TCP targetPort: 20001
- 创建网关规则,以下为网关规则配置。具体操作,请参见管理网关规则。
apiVersion: networking.istio.io/v1alpha3 kind: Gateway metadata: name: kiali-gateway namespace: istio-system spec: selector: istio: ingressgateway servers: - hosts: - '*' port: name: http number: 20001 protocol: HTTP
- 创建虚拟服务,以下为虚拟服务。具体操作,请参见管理虚拟服务。
apiVersion: networking.istio.io/v1alpha3 kind: VirtualService metadata: name: kiali-vs namespace: istio-system spec: gateways: - kiali-gateway hosts: - '*' http: - route: - destination: host: kiali port: number: 20001
在网格管理详情页面基本信息区域启用ASM网格拓扑右侧显示通过入口网关访问链接,单击该链接,跳转到网格拓扑的登录页面。
使用Service访问网格拓扑
- 获取集群KubeConfig并通过kubectl工具连接集群。
- 部署Service。
登录网格拓扑
通过ACK控制台获取Token,然后登录网格拓扑
- 登录容器服务管理控制台。
- 在控制台左侧导航栏,单击集群。
- 在集群列表页面,单击目标集群名称或者目标集群右侧操作列下的详情。
- 在集群管理页左侧导航栏中,选择 。
- 在保密字典页面设置命名空间为istio-system,单击kiali-service-account-token-****,单击token行的
图标,获取Token。
- 在网格拓扑控制台登录页面输入Token,单击log in,登录网格拓扑控制台。
通过命令行获取Token,然后登录网格拓扑
- 执行以下命令,获取Token。
alias k="kubectl --kubeconfig $USER_CONFIG" k get secrets -o jsonpath="{.items[?(@.metadata.annotations['kubernetes\.io/service-account\.name']=='kiali-service-account')].data.token}" -n istio-system | base64 --decode
- 在网格拓扑控制台登录页面输入Token,单击log in,登录网格拓扑控制台。