如何为OpenTelemetry Operator设置enable-go-instrumentation启用标志?
解决OTel Operator Go自动插桩未启用的问题
你遇到的错误是因为OTel Operator默认未开启Go自动插桩的功能网关,需要将enable-go-instrumentation标志设为true,以下是几种可行的配置方式:
1. 安装Operator时直接启用
如果通过Helm安装Operator,添加manager.featureGates.enableGoInstrumentation=true参数:
helm install opentelemetry-operator open-telemetry/opentelemetry-operator \ --namespace opentelemetry-operator-system \ --create-namespace \ --set manager.featureGates.enableGoInstrumentation=true
2. 修改已部署的Operator Deployment
针对已安装的Operator,编辑其Controller Manager的Deployment:
kubectl edit deployment opentelemetry-operator-controller-manager -n opentelemetry-operator-system
找到manager容器的args配置段,添加--feature-gates=enable-go-instrumentation=true参数,修改后示例如下:
args: - --metrics-addr=127.0.0.1:8080 - --enable-leader-election - --feature-gates=enable-go-instrumentation=true
保存退出后,Operator会自动重启Pod,生效该配置。
3. 验证配置生效
配置完成后,重新查看Operator日志确认错误消失:
kubectl logs -l app.kubernetes.io/name=opentelemetry-operator --container manager -n opentelemetry-operator-system --follow
若日志中不再出现support for Go auto instrumentation is not enabled的错误提示,说明Go自动插桩功能已成功启用,即可继续配置Go应用的自动插桩规则。
内容的提问来源于stack exchange,提问作者Damian
相关产品推荐
相关产品推荐

