Files
2026-01-27 18:21:17 +08:00
..
2026-01-19 22:08:33 +08:00
2026-01-19 22:08:33 +08:00
2026-01-27 18:21:17 +08:00
2026-01-27 18:21:17 +08:00
2026-01-27 18:21:17 +08:00
2026-01-27 18:21:17 +08:00
2026-01-19 22:08:33 +08:00
2026-01-19 22:08:33 +08:00

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

一、安装 cert-manager
OpenTelemetry Operator 提供了 OpenTelemetryCollector CRD自定义资源定义能自动处理服务发现和 RBAC基于角色的访问控制
该 Operator 需要 cert-manager 来支持准入 Webhook部署步骤如下

安装OpenTelemetry Operator 自定义资源,需先部署 cert-manager 使用yaml 直接部署文件02-cert-manager.yaml (官方文档里)
官方文档链接https://cert-manager.io/docs/installation/kubectl/

cert-manager 将安装在cert-manager命名空间中安装了cert-manager后通过以下方式验证其部署是否正确 检查cert-manager命名空间: 
kubectl get pods --namespace cert-manager
NAME                                       READY   STATUS    RESTARTS   AGE
cert-manager-7b8b89f89d-tpchr              1/1     Running   0          24s
cert-manager-cainjector-7f9fdd5dd5-px66h   1/1     Running   0          25s
cert-manager-webhook-769f6b94cb-zmjmv      1/1     Running   0          24s



二、安装 OpenTelemetry Operator
使用 helm 安装OpenTelemetry ,添加 Operator helm 仓库、更新、安装:
helm repo add open-telemetry https://open-telemetry.github.io/opentelemetry-helm-charts
helm repo update
helm install opentelemetry-operator open-telemetry/opentelemetry-operator \
  --namespace opentelemetry-operator \
  --create-namespace

或者直接使用yaml部署文件 03-opentelemetry-operator.yaml
kubectl apply -f https://github.com/open-telemetry/opentelemetry-operator/releases/latest/download/opentelemetry-operator.yaml

kubectl delete -f https://github.com/open-telemetry/opentelemetry-operator/releases/latest/download/opentelemetry-operator.yaml

# 查看安装的CRD
kubectl get crd | grep opentelemetry.io
输出:
    instrumentations.opentelemetry.io                        2025-12-11T09:02:11Z
    opampbridges.opentelemetry.io                            2025-12-11T09:02:13Z
    opentelemetrycollectors.opentelemetry.io                 2025-12-11T09:02:14Z
    targetallocators.opentelemetry.io                        2025-12-11T09:02:17Z

# 查看安装的operator控制器 Pod 状态
kubectl get pods -n opentelemetry-operator-system
NAME                                                        READY   STATUS    RESTARTS   AGE
opentelemetry-operator-controller-manager-9c4b5467d-dhhp7   1/1     Running   0          3m10s

# 查看 Operator Deployment 状态
kubectl get deploy opentelemetry-operator-controller-manager -n opentelemetry-operator-system
NAME                                        READY   UP-TO-DATE   AVAILABLE   AGE
opentelemetry-operator-controller-manager   1/1     1            1           4m43s

# 查看证书是否签发成功(验证与 cert-manager 协同正常)
NAME                                                              READY   SECRET                                                   AGE
certificate.cert-manager.io/opentelemetry-operator-serving-cert   True    opentelemetry-operator-controller-manager-service-cert   6m13s
NAME                                                              READY   AGE
issuer.cert-manager.io/opentelemetry-operator-selfsigned-issuer   True    6m12s

# 查看 Operator 相关 CRD
kubectl get crd | grep opentelemetry.io
输出:
    instrumentations.opentelemetry.io                        2026-01-14T07:28:56Z
    opampbridges.opentelemetry.io                            2026-01-14T07:28:57Z
    opentelemetrycollectors.opentelemetry.io                 2025-12-11T09:02:14Z
    targetallocators.opentelemetry.io                        2026-01-14T07:29:03Z


# 卸载命令
# 格式helm uninstall <Release 名称> -n <命名空间>
helm uninstall opentelemetry-operator -n opentelemetry-operator

# 删除 CRD仅当你确认不再需要任何 OTel 相关自定义资源实例时执行)
# 批量删除 Operator 相关 CRD
kubectl delete crd \
  instrumentations.opentelemetry.io \
  opentelemetrycollectors.opentelemetry.io \
  targetallocators.opentelemetry.io