开发者社区> 问答> 正文

如何在Knative 上实现 Tracing 分布式追踪?

如何在Knative 上实现 Tracing 分布式追踪?

展开
收起
小天使爱美 2020-03-31 16:08:20 845 0
1 条回答
写回答
取消 提交回答
  • 链路追踪 Tracing Analysis 为分布式应用的开发者提供了完整的调用链路还原、调用请求量统计、链路拓扑、应用依赖分析等工具。本文介绍了如何在 Knative 上实现 Tracing 分布式追踪,以帮助开发者快速分析和诊断 Knative 中部署的应用服务。

    前提条件 您已经成功创建一个Kubernetes 集群,参见创建Kubernetes集群。 您已连接到Kubernetes集群的Master节点,参见通过kubectl连接Kubernetes集群。 您已经成功部署 Knative,参见 部署 Knative。 您已经成功部署 Serving 组件,参见部署组件。 操作步骤 部署Istio。 请参见部署Istio。 部署时需要关注以下几点: Pilot 设置跟踪采样百分比,推荐设置大一些(例如,100),便于数据采样。部署istio 启用阿里云链路追踪服务,查看 token 选择为on,客户端采集工具选择zipkin (目前仅支持使用 zipkin 的 /api/v1/spans 接口访问), 选择集群所在 Region 的接入点(推荐使用内网接入地址),以华南1 Region 为例如下。启用链路 选择启用链路追踪,设置链路追踪服务地址。设置地址 执行如下命令,选择命名空间设置如下标签启用 Sidecar 自动注入istio-injection=enabled。 通过这种方式就注入了 Istio 的 envoy 代理(proxy)容器, Istio 的 envoy 代理拦截流量后会主动上报 trace 系统。以设置 default 命名空间为例: kubectl label namespace default istio-injection=enabled 部署 Knative Service 服务。 请参见部署 Serving Hello World 应用。 完成后,您可以通过如下命令,访问Hello World 示例服务。 $ curl -H "Host: helloworld-go.default.example.com" http://112.124.XX.XX Hello Knative! 登录链路追踪服务控制台,选择应用列表,可以查看对应应用的 tracing 信息。 应用列表 选择应用,单击查看应用详情,可以看到服务调用的平均响应时间。 应用详情 总结 在 Knative 中,推荐开启阿里云链路追踪服务。通过 Tracing Analysis 不仅有助于复杂应用服务之间的问题排查,同时也是 Knative 的最佳实践方式。

    2020-03-31 20:12:02
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
基于社区的分布式 风险感知模型 立即下载
如何利用Redisson分布式化传统Web项目 立即下载
FLASH:大规模分布式图计算引擎及应用 立即下载