【问题标题】:How escape chars in Go Template?如何在 Go Template 中转义字符?
【发布时间】:2021-07-15 02:08:15
【问题描述】:

我有这个 YAML 结构:

metadata:
  annotations:
  creationTimestamp: "2021-04-20T15:18:50Z"
  labels:
    billing: mybilling
    beta.kubernetes.io/os: linux

我正在尝试通过我的脚本访问它,但由于特殊字符,我无法访问“beta.kubernetes.io/os”。

        {{$os_version := .metadata.labels.beta.kubernetes.io/os }} --> failed
        {{$os_version := .metadata.labels."beta.kubernetes.io/os" }} --> failed
        {{$os_version := .metadata.labels.beta\.kubernetes\.io\/os }} --> failed

        {{$os_version := .metadata.labels.billing }} --> success

如何访问元数据“.metadata.labels.beta.kubernetes.io/os”?如何转义这个特殊字符?

【问题讨论】:

    标签: go kubernetes google-kubernetes-engine


    【解决方案1】:

    标准库已经提供了index function

    {{ index .metadata.labels "beta.kubernetes.io/os" }}
    

    就我而言:

    {{$os_version := index .metadata.labels "beta.kubernetes.io/os" -}}  --> works!!!
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-26
      • 2014-11-22
      • 2012-04-23
      • 2017-02-14
      • 2010-09-23
      相关资源
      最近更新 更多