搜索

2.2. 使用 CLI 安装红帽构建的 OpenTelemetry

download PDF

您可以从命令行安装红帽构建的 OpenTelemetry。

先决条件

  • 集群管理员具有 cluster-admin 角色的活跃 OpenShift CLI (oc) 会话。

    提示
    • 确保您的 OpenShift CLI (oc) 版本为最新版本,并与您的 OpenShift Container Platform 版本匹配。
    • 运行 oc login:

      $ oc login --username=<your_username>

流程

  1. 安装红帽构建的 OpenTelemetry Operator:

    1. 运行以下命令,为红帽构建的 OpenTelemetry Operator 创建项目:

      $ oc apply -f - << EOF
      apiVersion: project.openshift.io/v1
      kind: Project
      metadata:
        labels:
          kubernetes.io/metadata.name: openshift-opentelemetry-operator
          openshift.io/cluster-monitoring: "true"
        name: openshift-opentelemetry-operator
      EOF
    2. 运行以下命令来创建 Operator 组:

      $ oc apply -f - << EOF
      apiVersion: operators.coreos.com/v1
      kind: OperatorGroup
      metadata:
        name: openshift-opentelemetry-operator
        namespace: openshift-opentelemetry-operator
      spec:
        upgradeStrategy: Default
      EOF
    3. 运行以下命令来创建订阅:

      $ oc apply -f - << EOF
      apiVersion: operators.coreos.com/v1alpha1
      kind: Subscription
      metadata:
        name: opentelemetry-product
        namespace: openshift-opentelemetry-operator
      spec:
        channel: stable
        installPlanApproval: Automatic
        name: opentelemetry-product
        source: redhat-operators
        sourceNamespace: openshift-marketplace
      EOF
    4. 运行以下命令检查 Operator 状态:

      $ oc get csv -n openshift-opentelemetry-operator
  2. 为您要在后续步骤中创建的 OpenTelemetry Collector 实例创建一个您选择的项目:

    • 要创建没有元数据的项目,请运行以下命令:

      $ oc new-project <project_of_opentelemetry_collector_instance>
    • 要使用元数据创建项目,请运行以下命令:

      $ oc apply -f - << EOF
      apiVersion: project.openshift.io/v1
      kind: Project
      metadata:
        name: <project_of_opentelemetry_collector_instance>
      EOF
  3. 在为您创建的项目中创建一个 OpenTelemetry Collector 实例。

    注意

    您可以在同一集群中的独立项目中创建多个 OpenTelemetry Collector 实例。

    1. 使用 OTLP、Jaeger 和 Zipkin receivers 和 debug exporter 自定义 OpenTelemetry Collector 自定义资源 (CR):

      apiVersion: opentelemetry.io/v1alpha1
      kind: OpenTelemetryCollector
      metadata:
        name: otel
        namespace: <project_of_opentelemetry_collector_instance>
      spec:
        mode: deployment
        config: |
          receivers:
            otlp:
              protocols:
                grpc:
                http:
            jaeger:
              protocols:
                grpc: {}
                thrift_binary: {}
                thrift_compact: {}
                thrift_http: {}
            zipkin:
          processors:
            batch: {}
            memory_limiter:
              check_interval: 1s
              limit_percentage: 50
              spike_limit_percentage: 30
          exporters:
            debug: {}
          service:
            pipelines:
              traces:
                receivers: [otlp,jaeger,zipkin]
                processors: [memory_limiter,batch]
                exporters: [debug]
    2. 运行以下命令来应用自定义 CR:

      $ oc apply -f - << EOF
      <OpenTelemetryCollector_custom_resource>
      EOF

验证

  1. 运行以下命令,验证 OpenTelemetry Collector pod 的 status.phase 是否为 Running条件type: Ready

    $ oc get pod -l app.kubernetes.io/managed-by=opentelemetry-operator,app.kubernetes.io/instance=<namespace>.<instance_name> -o yaml
  2. 运行以下命令来获取 OpenTelemetry Collector 服务:

    $ oc get service -l app.kubernetes.io/managed-by=opentelemetry-operator,app.kubernetes.io/instance=<namespace>.<instance_name>
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.