第 4 章 从 Web 控制台部署 Jaeger production 策略

production 部署策略主要用于生产环境,在生产环境中,对 trace 数据进行长期存储非常重要,同时需要更容易扩展和高度可用的构架。

先决条件

  • 必须安装 Elasticsearch Operator。
  • 必须安装 Jaeger Operator。
  • 查看有关如何自定义 Jaeger 安装的说明。
  • 具有 cluster-admin 角色的帐户。

流程

  1. 以具有 cluster-admin 角色的用户身份登录到 OpenShift Container Platform web 控制台。
  2. 创建一个新项目,如 jaeger-system

    1. 浏览至 HomeProject
    2. 点击 Create Project
    3. Name 字段中输入 jaeger-system
    4. 点击 Create
  3. 导航到 OperatorsInstalled Operators
  4. 如果需要,请在 Project 菜单中选择 jaeger-system。您可能需要等待一些时间,让 Operator 复制到新项目中。
  5. 点 Jaeger Operator在 Overview 选项卡上的 Provided APIs 下,Operator 提供了单个链接。
  6. Jaeger 下点击 Create Instance
  7. Create Jaeger 页面上,将默认的 all-in-one yaml 文本替换为您的生产环境的 YAML 配置,例如:

    使用 Elasticsearch 的示例 jaeger-production.yaml 文件

    apiVersion: jaegertracing.io/v1
    kind: Jaeger
    metadata:
      name: jaeger-production
      namespace:
    spec:
      strategy: production
      ingress:
        security: oauth-proxy
      storage:
        type: elasticsearch
        elasticsearch:
          nodeCount: 3
          redundancyPolicy: SingleRedundancy
        esIndexCleaner:
          enabled: true
          numberOfDays: 7
          schedule: 55 23 * * *
        esRollover:
          schedule: '*/30 * * * *'

  8. 点击 Create 创建 Jaeger 实例。
  9. Jaegers 页面上,点击 Jaeger 实例的名称,如 jaeger-prod-elasticsearch
  10. Jaeger Details 页面上,点击 Resources 选项卡。等到所有 Pod 的状态变为“Running”再继续操作。

4.1. 通过 CLI 部署 Jaeger 生产环境

按照以下步骤,通过命令行创建 Jaeger 实例。

先决条件

  • 已安装并验证 OpenShift Jaeger Operator。
  • 访问 OpenShift CLI(oc)。
  • 具有 cluster-admin 角色的帐户。

流程

  1. 以具有 cluster-admin 角色的用户身份登录到 OpenShift Container Platform CLI。

    $ oc login https://{HOSTNAME}:8443
  2. 创建一个名为 jaeger-system 的新项目。

    $ oc new-project jaeger-system
  3. 创建一个名为 jaeger-production.yaml 的自定义资源文件,其中包含上一步中的示例文件文本。
  4. 运行以下命令来部署 Jaeger:

    $ oc create -n jaeger-system -f jaeger-production.yaml
  5. 在安装过程中运行以下命令来监控 Pod 的进度:

    $ oc get pods -n jaeger-system -w

    安装过程完成后,您应该看到类似如下的输出:

    NAME                                                              READY   STATUS    RESTARTS   AGE
    elasticsearch-cdm-jaegersystemjaegerproduction-1-6676cf568gwhlw   2/2     Running   0          10m
    elasticsearch-cdm-jaegersystemjaegerproduction-2-bcd4c8bf5l6g6w   2/2     Running   0          10m
    elasticsearch-cdm-jaegersystemjaegerproduction-3-844d6d9694hhst   2/2     Running   0          10m
    jaeger-production-collector-94cd847d-jwjlj                        1/1     Running   3          8m32s
    jaeger-production-query-5cbfbd499d-tv8zf                          3/3     Running   3          8m32s