3.2.5. 注入 sidecar

OpenShift Jaeger 依赖于应用程序 Pod 中的代理 sidecar 来提供代理。Jaeger Operator 可以将 Jaeger Agent sidecar 注入 Deployment 工作负载。您可以使用自动 sidecar 注入功能或手动管理它。

3.2.5.1. 自动注入 sidecar

要启用此功能,您需要将注解 sidecar.jaegertracing.io/inject 设置为 trueoc get jaegers 返回的 Jaeger 实例名称。当您指定 true 时,与部署相同的命名空间应该只有一个 Jaeger 实例。否则,Operator 无法决定使用哪个 Jaeger 实例。部署中的特定 Jaeger 实例名称的优先级高于其命名空间中应用的 true

以下片段显示一个简单的应用程序,它将注入一个 sidecar,其中 Jaeger Agent 指向同一个命名空间中可用的单个 Jaeger 实例:

示例自动 sidecar 注入

apiVersion: apps/v1
kind: Deployment
metadata:
  name: myapp
  annotations:
    "sidecar.jaegertracing.io/inject": "true" 1
spec:
  selector:
    matchLabels:
      app: myapp
  template:
    metadata:
      labels:
        app: myapp
    spec:
      containers:
      - name: myapp
        image: acme/myapp:myversion

当 sidecar 注入时,Ceger Agent 便可以通过 localhost 上的默认位置来访问。