gpt4 book ai didi

go - 从代码执行二进制文件失败但从命令行运行它有效

转载 作者:数据小太阳 更新时间:2023-10-29 03:37:19 27 4
gpt4 key购买 nike

我正在尝试升级一点netperf-tester来自 contrib 存储库,但我有一个问题,因为我不是一名优秀的开发人员我为 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

如果有人能指出错误所在,我将不胜感激

最佳答案

根据 this thread,问题是 --overrides arg for exec 中的单引号,它应该是这样的:

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)}

关于go - 从代码执行二进制文件失败但从命令行运行它有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43803052/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com