2017-09-15 6 views
1

.metadata.labels.app이 "myapp"값으로 설정된 항목을 표시하고 싶습니다.go 템플릿에서 문자열을 비교하는 방법은 무엇입니까?

는 명령 :

output:1: function "myapp" not defined 

구조는 다음과 같이 :

kubectl get pods -o go-template --template="{{range .items}}{{if eq .metadata.labels.app "myapp"}}{{.metadata.name}} {{end}}{{end}}"

그것은 오류 제공 내가 전에 kubetcl을 사용하지 않은

- 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 

답변

2

을하지만 일반적으로 셸 명령에 익숙합니다. 그 중에서 제가 말할 수있는 것이 하나 있습니다. 어쩌면 그게 네가 필요한거야. (나는 Go 템플릿에 익숙하지만 문자열 비교는 나에게 잘 어울립니다.) 템플릿 내에서 그리고 템플릿 내에서 큰 따옴표를 사용하면 실제로 문자열에서 템플릿으로 전달되는 문자열을 닫을 수 있습니다. "myapp"의 첫 번째 큰 따옴표 템플릿 주위에 작은 따옴표를 사용하면 도움이됩니다.

kubectl get pods -o go-template --template='{{range .items}}{{if eq .metadata.labels.app "myapp"}}{{.metadata.name}} {{end}}{{end}}' 
+0

예, 알 수없는 도구를 즉시 비난하는 예입니다. – Velkan