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

k6 starter Pod启动异常:sh: curl: not found 问题求助

k6 Starter Pod启动失败(curl: not found)问题排查与解决

问题分析

你的k6 Starter Pod启动失败,日志显示sh: curl: not found,核心原因如下:

  • 你为starter配置的XXX/grafana/k6:0.48.0是k6的压测运行镜像,该镜像为轻量级构建,默认未预装curl工具;
  • k6 Operator的starter组件依赖curl完成脚本分发、API交互等初始化操作,缺失该工具直接导致启动脚本执行失败;
  • 额外注意:starter组件应使用k6-operator专用镜像,而非k6的运行镜像,后者仅用于执行压测脚本,不包含starter的初始化逻辑。

解决方案

方案1:使用k6-operator专用starter镜像(推荐)

修改K6自定义资源的spec.starter.image为对应版本的k6-operator镜像,示例配置如下:

apiVersion: k6.io/v1alpha1
kind: K6
metadata:
  name: k6-sample
spec:
  parallelism: 1
  script:
    configMap:
      name: k6-test
      file: test.js
  runner:
    image: XXX/grafana/k6:0.48.0
    tolerations: []
    affinity: {}
  starter:
    # 替换为与你安装的k6-operator匹配的版本,例如v0.0.24
    image: grafana/k6-operator:v0.0.24
    tolerations: []
    affinity: {}

方案2:自定义包含curl的k6镜像(仅特殊场景使用)

若需坚持使用k6镜像作为starter,需构建自定义镜像并预装curl:

FROM XXX/grafana/k6:0.48.0
# 基于Alpine镜像,安装curl
RUN apk add --no-cache curl

构建并推送镜像后,更新K6资源中的spec.starter.image为自定义镜像地址。

验证操作

  1. 删除已失败的starter Job:
kubectl delete job k6-sample-starter -n k6-operator-system
  1. 应用修改后的配置:
kubectl apply -f <你的K6资源文件路径> -n k6-operator-system
  1. 检查starter Pod状态:
kubectl get pods -n k6-operator-system | grep starter

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 09:02:30