3 回答

TA貢獻1846條經驗 獲得超7個贊
clientset.CoreV1().RESTClient().Post().
Resource("pods").
Namespace("default").
Name("test").
SubResource("portforward").URL()
對我有用,并給出帶有 .../api/v1/namespaces... 的 url

TA貢獻1780條經驗 獲得超4個贊
有*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 關注
- 224 瀏覽
添加回答
舉報