You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Minikube部署的Otel Collector容器无法执行ls等Linux命令怎么办

问题原因

你使用的otel/opentelemetry-collector-contrib:0.37.1是官方默认的distroless最小镜像,这类镜像裁剪了所有非必要的系统组件,仅保留otel-collector核心可执行文件,没有内置ls、bash、sh这类基础命令和shell环境,所以执行exec操作会报找不到可执行文件的错误,属于镜像设计特性,并非镜像损坏或Pod运行异常。

解决方案

  • 方案1:无需进入容器,直接用kubectl原生命令获取信息
    查看容器运行日志:

    kubectl logs -n adalyu-k8s otel-collector-lzvwv
    

    拷贝容器内文件到本地查看(以配置文件为例):

    kubectl cp -n adalyu-k8s otel-collector-lzvwv:/etc/otel/config.yaml ./local-otel-config.yaml
    
  • 方案2:更换带调试工具的镜像版本
    官方提供了同版本带-debug后缀的镜像,内置基础命令和shell环境,把DaemonSet的镜像替换为otel/opentelemetry-collector-contrib:0.37.1-debug重新发布后,即可正常执行kubectl exec操作。

  • 方案3:临时调试(无需修改原有Pod配置)
    若使用的K8s版本≥1.20,可以用kubectl debug命令注入临时调试容器,共享原Pod的进程和文件空间:

    kubectl debug -n adalyu-k8s -it otel-collector-lzvwv --image=busybox:1.36 --share-processes
    

    进入调试容器后可直接使用busybox内置的各类工具完成排查,调试结束后临时容器会自动销毁,不影响原有业务运行。

内容的提问来源于stack exchange,提问作者dashenswen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 08:24:10