在自托管模式下,运行 dapr init
时:
$HOME/.dapr/config.yaml
(Linux/Mac)或 %USERPROFILE%\.dapr\config.yaml
(Windows)。在执行 dapr run
时,系统会默认引用该文件,除非您指定了其他配置:apiVersion: dapr.io/v1alpha1
kind: Configuration
metadata:
name: daprConfig
namespace: default
spec:
tracing:
samplingRate: "1"
zipkin:
endpointAddress: "http://localhost:9411/api/v2/spans"
dapr init
时,openzipkin/zipkin 的 Docker 容器会自动启动。您也可以手动启动:使用 Docker 启动 Zipkin:
docker run -d -p 9411:9411 openzipkin/zipkin
dapr run
启动应用程序时,默认会引用 $HOME/.dapr/config.yaml
或 %USERPROFILE%\.dapr\config.yaml
中的配置文件。您可以通过 Dapr CLI 的 --config
参数来指定其他配置:dapr run --app-id mynode --app-port 3000 node app.js
要查看追踪数据,请在浏览器中访问 http://localhost:9411,您将看到 Zipkin 的用户界面。
以下步骤将指导您如何配置 Dapr,将分布式追踪数据发送到 Kubernetes 集群中的 Zipkin 容器,并查看这些数据。
首先,部署 Zipkin:
kubectl create deployment zipkin --image openzipkin/zipkin
为 Zipkin pod 创建一个 Kubernetes 服务:
kubectl expose deployment zipkin --type ClusterIP --port 9411
接下来,在本地创建以下 YAML 文件:
apiVersion: dapr.io/v1alpha1
kind: Configuration
metadata:
name: tracing
namespace: default
spec:
tracing:
samplingRate: "1"
zipkin:
endpointAddress: "http://zipkin.default.svc.cluster.local:9411/api/v2/spans"
现在,部署 Dapr 配置文件:
kubectl apply -f tracing.yaml
要在 Dapr sidecar 中启用此配置,请在 pod 规范模板中添加以下注释:
annotations:
dapr.io/config: "tracing"
完成!您的 sidecar 现在已配置为将追踪数据发送到 Zipkin。
要查看追踪数据,请连接到 Zipkin 服务并打开用户界面:
kubectl port-forward svc/zipkin 9411:9411
在浏览器中,访问 http://localhost:9411
,您将看到 Zipkin 的用户界面。