菜单
文档面包屑箭头 Beyla面包屑箭头 设置面包屑箭头 Helm chart
Grafana Cloud

使用 Helm 在 Kubernetes 中部署 Beyla

注意

有关各种 Helm 配置选项的更多详细信息,请参阅

Beyla Helm chart 选项 文档。

目录

从 Helm 部署 Beyla

首先,您需要将 Grafana Helm 仓库添加到 Helm

sh
helm repo add grafana https://grafana.github.io/helm-charts

以下命令将使用默认配置在 beyla 命名空间中部署一个 Beyla DaemonSet

sh
helm install beyla -n beyla --create-namespace  grafana/beyla

默认的 Beyla 配置

  • 在 Pod HTTP 端口 9090/metrics 路径下将指标导出为 Prometheus 指标。
  • 尝试对集群中的所有应用程序进行插桩。
  • 默认情况下仅提供应用级指标,并排除 网络级指标
  • 配置 Beyla 使用 Kubernetes 元数据标签装饰指标,例如 k8s.namespace.namek8s.pod.name

配置 Beyla

您可能需要覆盖 Beyla 的默认配置。例如,将指标和/或 span 导出为 OpenTelemetry 而不是 Prometheus,或者限制要进行插桩的服务数量。

您可以使用自己的值覆盖默认的 Beyla 配置选项

例如,创建一个包含自定义配置的 helm-beyla.yml 文件

yaml
config:
  data:
    # Contents of the actual Beyla configuration file
    discovery:
      services:
        - k8s_namespace: demo
        - k8s_namespace: blog
    routes:
      unmatched: heuristic

config.data 部分包含一个 Beyla 配置文件,该文件在 Beyla 配置选项文档中进行了说明。

然后使用 -f 标志将覆盖的配置传递给 helm 命令。例如

sh
helm install beyla grafana/beyla -f helm-beyla.yml

或者,如果 Beyla chart 之前已经部署过

sh
helm upgrade beyla grafana/beyla -f helm-beyla.yml

配置 Beyla 元数据

如果 Beyla 使用 Prometheus 导出器导出数据,您可能需要覆盖 Beyla Pod 注解,以便 Prometheus scraper 能够发现它。您可以将以下部分添加到 helm-beyla.yml 示例文件

yaml
podAnnotations:
  prometheus.io/scrape: "true"
  prometheus.io/path: "/metrics"
  prometheus.io/port: "9090"

类似地,Helm chart 允许覆盖涉及 Beyla 部署的多个资源的名称、标签和注解,例如服务帐户、集群角色、安全上下文等。Beyla Helm chart 文档介绍了各种配置选项。

为 Helm 配置提供 Secret

如果您通过 OpenTelemetry Endpoint 直接将指标和追踪提交到 Grafana Cloud,您需要通过 OTEL_EXPORTER_OTLP_HEADERS 环境变量提供凭证。

推荐的方法是将该值存储在 Kubernetes Secret 中,然后在 Helm 配置中指定引用它的环境变量。

例如,部署以下 Secret

yaml
apiVersion: v1
kind: Secret
metadata:
  name: grafana-secret
type: Opaque
stringData:
  otlp-headers: "Authorization=Basic ...."

然后通过 envValueFrom 部分在 helm-config.yml 文件中引用它

yaml
env:
  OTEL_EXPORTER_OTLP_ENDPOINT: "<...your Grafana Cloud OTLP endpoint URL...>"
envValueFrom:
  OTEL_EXPORTER_OTLP_HEADERS:
    secretKeyRef:
      key: otlp-headers
      name: grafana-secret