我正在努力寻找一种方法将 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/

10-16 12:22