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

使用脚本在AWS创建K8S集群时遇到timestamp格式错误

错误原因说明

核心诱因

  • 错误的根因是脚本中时间解析格式与实际输入的时间格式不匹配:K8S API返回的metadata.creationTimestamp字段为标准RFC3339格式,末尾自带UTC时区标识Z,即你报错信息里的2021-09-07T08:29:29Z,但脚本中strptime函数传入的格式串仅为%Y-%m-%dT%H:%M:%S,没有匹配末尾的Z字符,解析时自然会抛出格式不匹配的错误。
  • 这行代码原本的设计逻辑是读取K8S资源的创建时间字段,解析为时间对象后再格式化为末尾带Z的标准UTC时间格式,但编写人员忽略了输入值本身就已经携带Z后缀的情况,属于脚本本身的逻辑漏洞。

与本地配置的关系

该错误和你本地的timestamp格式配置完全无关,只要运行环境从K8S API拿到的creationTimestamp字段自带Z后缀,触发该报错是必然结果,属于通用的脚本编写错误。

修复方案

只需要调整strptime的格式串,加上对末尾Z的匹配即可,修改后的代码参考:

yq '.metadata.creationTimestamp |= (. | strptime("%Y-%m-%dT%H:%M:%SZ") | strftime("%Y-%m-%dT%H:%M:%SZ"))' | \

如果使用的是较高版本的yq,也可以直接调用内置的RFC3339时间解析函数,无需手动编写格式串,兼容性会更好。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 20:45:03