OpenTelemetry Operator的探针注入基于Kubernetes的Admission Webhook机制,工作原理分为三个阶段:
- 透明拦截:Operator通过注册MutatingAdmissionWebhook,在Pod创建请求到达API Server后、实际调度前拦截并修改Pod定义,对应用完全透明
- 探针分发:注入一个Init Container负责将探针文件(如Java Agent JAR)复制到emptyDir类型的共享Volume中,主容器启动时通过Volume Mount访问探针文件,无需重新构建应用镜像
- 动态配置:通过注入语言特定的环境变量实现零代码侵入,如Java使用
JAVA_TOOL_OPTIONS、Python使用PYTHONPATH、Node.js使用NODE_OPTIONS,在进程启动时自动加载探针
这种机制确保了应用代码完全无需感知OpenTelemetry SDK的存在,实现了真正的无侵入式可观测接入。