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

Busybox Pod中while循环echo输出未更新问题求助

问题原因

你遇到的问题核心是本地shell提前解析了脚本里的变量与命令:

  • 执行kubectl apply时,$(date +%s)会在你的本地机器上先执行一次,得到固定时间戳后再传入Pod启动命令,导致容器输出的time值永远不变。
  • $i在本地环境未定义,被解析为空字符串,所以msg里的序号始终为空。
解决方法

把脚本里的$符号转义为\$,让容器内的shell去解析这些变量和命令,而非本地shell。修改后的完整命令如下:

cat <<EOF | kubectl apply -f -
apiVersion: v1
kind: Pod
metadata:
 name: hello-pod
spec:
 containers:
 - name: count
   image: busybox
   args: [
    /bin/sh,
    -c,
    'i=0; while true; do echo "{\"time\":\$(date +%s),\"msg\":\"This is my dummy log number \$i\"}"; i=\$((i+1)); sleep 1; done'
   ]
EOF
验证方式

执行上述命令后,用kubectl logs -f hello-pod查看日志,就能看到time字段每秒递增、msg序号依次增加的JSON日志了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 23:05:29