我正在努力寻找一种方法将 Release.Time 内置作为 Helm 名称的一部分。
如果我只是将其包括为:name: {{ template "myapp.name" . }}-{{ .Release.Time }}
试运行显示:name: myapp-seconds:1534946206 nanos:143228281
看起来这是一个 *timestamp.Timestamp 对象或其他东西,因为 {{ .Release.Time | trimPrefix "seconds:" | trunc 10 }}
输出 wrong type for value; expected string; got *timestamp.Timestamp
我可以通过执行以下操作来破解字符串解析: {{ .Release.Time | toString | trimPrefix "seconds:" | trunc 10 }}
,但似乎我应该能够在 Timestamp 对象上调用某些内容来获取秒数。有没有人知道文档在哪里?我在 https://godoc.org/github.com/Masterminds/sprig 找不到任何对它的引用。
最佳答案
要格式化时间戳,您可以使用 Sprig 文档中的 date FORMAT TIME
。因为 .Release.Time
在 Helm 3 中被删除了,所以你必须使用 now
代替:
{{ now | date "20060102150405" }}
引用格式选项:https://golang.org/pkg/time/#Time.Format但是由于升级,名称中包含时间戳并不是一个好主意。
关于kubernetes - 将发布时间戳附加到掌 Helm 模板名称,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51968757/