我想显示将.metadata.labels.app
设置为"myapp"
值的条目。
命令:
kubectl get pods -o go-template --template="{{range .items}}{{if eq .metadata.labels.app "myapp"}}{{.metadata.name}} {{end}}{{end}}"
它给出一个错误:
结构如下所示:
- apiVersion: v1
kind: Pod
metadata:
creationTimestamp: 2017-09-15T08:18:26Z
generateName: myapp-2830765207-
labels:
app: myapp
pod-template-hash: "2830765207"
name: myapp-2830765207-dh359
namespace: default
最佳答案
我以前没有使用过kubetcl,但是我通常对shell命令很熟悉,从中我可以告诉您一件出错的事情,也许这就是您所需要的。 (我对Go模板也有些熟悉,对我而言,您的字符串比较看起来不错。)通过在模板周围和模板中使用双引号,实际上是在关闭作为模板传递的字符串。 "myapp"
中的第一个双引号。在模板周围使用单引号应有帮助:
kubectl get pods -o go-template --template='{{range .items}}{{if eq .metadata.labels.app "myapp"}}{{.metadata.name}} {{end}}{{end}}'