Return 使用 go-template 更正键值

Return correct Key Value using go-template

我正在尝试从我的 kubernetes 响应中检索键 clientSecret 的值,但我找不到正确的 go 语法。

我尝试过如下命令:

kubectl get secret client-secret -o yaml --namespace magic-test -o go-template --template="{{range .items}}{{range .data}}{{.clientSecret}} {{end}}{{end}}"

和其他变体

这是我要从中检索的内容的 yaml 输出

kubectl get secret client-secret -n magic-test -o yaml 
apiVersion: v1
data:
  clientSecret: NmQQuCNFiOWItsdfOTAyMCb00MjEwLWFiNGQtNTI4NDdiNWM5ZjMx
kind: Secret
metadata:
  creationTimestamp: 2019-05-31T14:03:44Z
  name: client-secret
  namespace: magic-test
  resourceVersion: "11544532074"
  selfLink: /api/v1/namespaces/magic-test/secrets/client-secret
  uid: e72acdsfbcc-83fsdac-1sdf1e9-9sdffaf-0050dsf56b7c1fa
type: Opaque

如何检索 clientSecret 的值?

输出不是项目列表,而是一个对象或字典,因此您不能遍历管道,但您可以简单地按您感兴趣的键对其进行索引。

所以只需使用模板 {{.data.clientSecret}}:

kubectl get secret client-secret -o yaml --namespace magic-test -o go-template
    --template="{{.data.clientSecret}}"