第 7 章 手动注入 sidecar
对于 Deployment
以外的控制器类型(如 StatefulSets
、DaemonSet
等),您可以在规格中手动定义 Jaeger Agent sidecar。
以下片段显示了您可以在 Jaeger Agent sidecar 的 containers 部分中包含的手动定义:
StatefulSet 的 sidecar 定义示例
apiVersion: apps/v1 kind: StatefulSet metadata: name: example-statefulset namespace: example-ns labels: app: example-app spec: spec: containers: - name: example-app image: acme/myapp:myversion ports: - containerPort: 8080 protocol: TCP - name: jaeger-agent image: registry.redhat.io/distributed-tracing/jaeger-agent-rhel7:<version> # The agent version must match the operator version imagePullPolicy: IfNotPresent ports: - containerPort: 5775 name: zk-compact-trft protocol: UDP - containerPort: 5778 name: config-rest protocol: TCP - containerPort: 6831 name: jg-compact-trft protocol: UDP - containerPort: 6832 name: jg-binary-trft protocol: UDP - containerPort: 14271 name: admin-http protocol: TCP args: - --reporter.grpc.host-port=dns:///jaeger-collector-headless.example-ns:14250 - --reporter.type=grpc
然后,Jaeger Agent 可以通过 localhost 上的默认位置来访问。
7.1. 升级 Jaeger
Operator Lifecycle Manager (OLM) 控制集群中 Operator 的安装、升级和基于角色的访问控制 (RBAC)。OLM 在 OpenShift Container Platform 中默认运行。OLM 可以查询可用的 Operator 以及已安装的 Operator 的升级。如需了解有关 OpenShift Container Platform 如何处理升级的更多信息,请参阅 Operator Lifecycle Manager 文档。
Jaeger Operator 使用的更新方法是将受管 Jaeger 实例升级到与 Operator 相关的版本。安装新版本的 Jaeger Operator 时,由 Operator 管理的所有 Jaeger 应用程序实例都会升级到 Operator 的版本。例如,如果安装了 1.10 版本(包括 Operator 和后端组件),Operator 升级到了 1.11 版本,那么 Operator 就会在 Operator 升级完成后扫描运行 Jaeger 实例并将其升级到 1.11。