3 回答
TA贡献1846条经验 获得超7个赞
clientset.CoreV1().RESTClient().Post().
Resource("pods").
Namespace("default").
Name("test").
SubResource("portforward").URL()
对我有用,并给出带有 .../api/v1/namespaces... 的 url
TA贡献1780条经验 获得超3个赞
有*rest.Request一个Prefix(string)方法可以用来插入丢失的子路径:
reqURL := clientset.RESTClient().Post().
Prefix("api/v1").
Resource("pods").
Namespace("default").
Name("test").
SubResource("portforward").URL()
TA贡献1829条经验 获得超13个赞
我部分解决了问题。至少我让它工作了并且我对此感到满意。
下面的代码生成的URL是https://192.168.99.125:8443/namespaces/default/pods/influxdb-65c9fdf9cb-nzvpf/portforward?timeout=32s
reqURL := clientset.RESTClient().Post().
Resource("pods").
Namespace("default").
Name("test").
SubResource("portforward").URL()
这是错误的,正确的是:
https://192.168.99.125:8443/api/v1/namespaces/default/pods/influxdb-65c9fdf9cb-nzvpf/portforward
这就是我现在生成该 URL 的方法:
path := fmt.Sprintf("/api/v1/namespaces/%s/pods/%s/portforward", "default", podName)
hostIP := strings.TrimLeft(config.Host, "htps:/")
serverURL := url.URL{Scheme: "https", Path: path, Host: hostIP}
dialer := spdy.NewDialer(upgrader, &http.Client{Transport: transport}, http.MethodPost, &serverURL)
- 3 回答
- 0 关注
- 175 浏览
添加回答
举报