
# 如何对接Jaeger/Zipkin查看调用链
ASM支持向Jaeger/Zipkin导出追踪数据，导出后可在Jaeger/Zipkin界面查看应用的调用链信息。下文以对接zipkin为例介绍完整的使用流程。
#### 前提条件
已明确待安装zipkin的集群和命名空间。
#### 操作步骤
1. 创建zipkin deploy。
   
   登录云容器引擎CCE界面，依次单击"集群名称-工作负载-无状态工作负载-YAML创建"，复制粘贴下面的内容到YAML创建输入框中。
   ```
   apiVersion: apps/v1
   kind: Deployment
   metadata:
     name: zipkin
     namespace: monitoring
   spec:
     progressDeadlineSeconds: 600
     replicas: 1
     revisionHistoryLimit: 10
     selector:
       matchLabels:
         app.kubernetes.io/instance: zipkin
         app.kubernetes.io/name: zipkin
     strategy:
       rollingUpdate:
         maxSurge: 25%
         maxUnavailable: 25%
       type: RollingUpdate
     template:
       metadata:
         labels:
           app.kubernetes.io/instance: zipkin
           app.kubernetes.io/name: zipkin
       spec:
         automountServiceAccountToken: false
         containers:
         - env:
           - name: STORAGE_TYPE
             value: mem
           image: openzipkin/zipkin-slim:latest                                  # 社区zipkin镜像地址，请自行确保网络可达
           imagePullPolicy: IfNotPresent
           name: zipkin
           readinessProbe:
             failureThreshold: 3
             httpGet:
               path: /health
               port: 9411
               scheme: HTTP
             initialDelaySeconds: 5
             periodSeconds: 5
             successThreshold: 1
             timeoutSeconds: 1
           resources:
             limits:
               cpu: 500m
               memory: 4Gi
             requests:
               cpu: 100m
               memory: 128Mi
           securityContext:
             readOnlyRootFilesystem: true
             runAsNonRoot: true
             runAsUser: 1000
           terminationMessagePath: /dev/termination-log
           terminationMessagePolicy: File
         terminationGracePeriodSeconds: 30
   ```
   预期结果：
   创建完成后会在无状态负载页面新增一条名称为zipkin的记录，其状态变为运行中表示zipkin已成功安装到该集群的monitoring命名空间下。
   ![](https://support.huaweicloud.com/asm_faq/zh-cn_image_0000001953781982.png)
   ![](https://support.huaweicloud.com/asm_faq/public_sys-resources/note_3.0-zh-cn.png)
   也可参考[zipkin官网资料](https://zipkin.io/pages/quickstart.html)自行完成安装。
   
   
2. 创建负载均衡服务。
   
   在集群详情页面，单击"服务-服务-创建服务"，如下设置参数：
   - Service名称：自定义填写，此处以zipkin为例。
   
   - 访问类型：选择负载均衡。
   
   - 选择器：单击"引用负载标签"，自动添加。
   
   - 端口配置：配置容器端口和服务端口，此处以9411为例。
   
   
   其他参数使用默认值即可。
   ![](https://support.huaweicloud.com/asm_faq/zh-cn_image_0000001953789174.png)
   预期结果：
   设置完成后会在服务页面增加一条服务名称为zipkin的记录，如下：
   ![](https://support.huaweicloud.com/asm_faq/zh-cn_image_0000001988388029.png)
   ![](https://support.huaweicloud.com/asm_faq/public_sys-resources/caution_3.0-zh-cn.png)
   如果不需要访问Zipkin UI，访问类型可选择集群内访问。
   
   
3. 购买网格，配置对接Zipkin服务。 
   登录应用服务网格页面，单击"购买网格"，选择[步骤1]的集群，"可观测性配置--调用链"启用调用链，选择"第三方Jaeger/Zipkin服务"，填写服务地址和服务端口，其他参数根据需要自行填写。
   ![](https://support.huaweicloud.com/asm_faq/zh-cn_image_0000001991444961.png)
   ![](https://support.huaweicloud.com/asm_faq/public_sys-resources/caution_3.0-zh-cn.png)
   服务地址为[步骤2]中所创建服务的\<服务名称\>.\<命名空间\>.svc.cluster.local。
   服务端口为[步骤2]创建负载均衡服务中填写的服务端口，本例中为9411。
   
   
4. 参考[一键创建Bookinfo应用](https://support.huaweicloud.com/qs-asm/asm_qs_0001.html#section4)部署体验服务，部署完成后应用服务网格的服务页面会展示details，productpage，ratings以及reviews服务。
   
   ![](https://support.huaweicloud.com/asm_faq/zh-cn_image_0000001953798006.png)
   
   
5. 访问productpage触发产生调用链数据。 
   进入ASM网格详情页，单击服务管理页面productpage服务的外部访问地址http://ip:port/productpage。
   
   
6. 在Zipkin客户端页面查看调用链信息。Zipkin 客户端登录的地址格式如下：http://Zipkin服务的负载均衡公网 IP:Zipkin服务的访问端口/zipkin/ 。 
   ![](https://support.huaweicloud.com/asm_faq/zh-cn_image_0000001988407485.png)
   
   ![](https://support.huaweicloud.com/asm_faq/public_sys-resources/note_3.0-zh-cn.png)
   Zipkin 客户端登录的IP地址和端口可从如下路径获取：
   - IP地址：进入安装Zipkin集群详情页面，"服务-服务"页面中Zipkin服务的负载均衡公网 IP。
   
   - 端口："服务-服务"页面中Zipkin服务的访问端口。
    
   
   
 
