-1
我想有點netperf-tester升級從contrib
程序存儲庫,但我有一個問題,因爲我不是一個優秀的開發 我已經增加了一個ARG爲kubectl
:從代碼執行二進制失敗,但在命令行中運行它的工作原理
args := []string{"run", serviceName, "--image=" + image, fmt.Sprintf("--port=%d", port), "--hostport=65530", fmt.Sprintf("--overrides='{ \"apiVersion\": \"extensions/v1beta1\", \"spec\": { \"nodeSelector\": { \"kubernetes.io/hostname\": \"%s\" } } }'", node)}
,但它給我一個錯誤:
2017/05/05 10:18:02 kubectl path := kubectl
2017/05/05 10:18:02 Running kubectl with args := [run netperf-tester-host --image=paultiplady/netserver:ubuntu.2 --port=12865 --hostport=65530 --overrides='{ "apiVersion": "extensions/v1beta1", "spec": { "nodeSelector": { "kubernetes.io/hostname": "10.122.16.118" } } }']
2017/05/05 10:18:04 Error adding service: exit status 1
Output: error: Invalid JSON Patch
當我運行它手動它的工作原理
$ kubectl run netperf-tester-host --image=paultiplady/netserver:ubuntu.2 --port=12865 --hostport=65530 --overrides='{ "apiVersion": "extensions/v1beta1", "spec": { "nodeSelector": { "kubernetes.io/hostname": "10.122.16.118" } } }'
deployment "netperf-tester-host" created
如果有人能指出我錯誤所在,我將非常感激
的prablem是'--overrides' arg中的單引號,它應該看起來像這樣: 'args:= [] string {「run」,serviceName,「--image =」+ image,fmt.Sprintf(「 --port =%d「,port),」--hostport = 65530「,fmt.Sprintf(」--overrides = {\「apiVersion \」:\「extensions/v1beta1 \」,\「spec \「:{\」nodeSelector \「:{\」kubernetes.io/hostname \「:\」%s \「}}}」,node)}' – widget