第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

通過(guò)client-go升級(jí)端口轉(zhuǎn)發(fā)時(shí)出現(xiàn)連接錯(cuò)誤

通過(guò)client-go升級(jí)端口轉(zhuǎn)發(fā)時(shí)出現(xiàn)連接錯(cuò)誤

Go
鳳凰求蠱 2023-08-07 14:38:57
這是我編寫(xiě)的通過(guò) client-go 進(jìn)行端口轉(zhuǎn)發(fā)的代碼的易于運(yùn)行的版本。有硬編碼的 Pod 名稱、命名空間和端口。您可以使用您正在運(yùn)行的程序來(lái)更改它們。package mainimport (    "flag"    "net/http"    "os"    "path/filepath"    "k8s.io/client-go/kubernetes"    "k8s.io/client-go/tools/clientcmd"    "k8s.io/client-go/tools/portforward"    "k8s.io/client-go/transport/spdy")func main() {    stopCh := make(<-chan struct{})    readyCh := make(chan struct{})    var kubeconfig *string    if home := "/home/gianarb"; home != "" {        kubeconfig = flag.String("kubeconfig", filepath.Join(home, ".kube", "config"), "(optional) absolute path to the kubeconfig file")    } else {        kubeconfig = flag.String("kubeconfig", "", "absolute path to the kubeconfig file")    }    flag.Parse()    // use the current context in kubeconfig    config, err := clientcmd.BuildConfigFromFlags("", *kubeconfig)    if err != nil {        panic(err.Error())    }    // create the clientset    clientset, err := kubernetes.NewForConfig(config)    if err != nil {        panic(err.Error())    }    reqURL := clientset.RESTClient().Post().        Resource("pods").        Namespace("default").        Name("test").        SubResource("portforward").URL()    transport, upgrader, err := spdy.RoundTripperFor(config)    if err != nil {        panic(err)    }    dialer := spdy.NewDialer(upgrader, &http.Client{Transport: transport}, http.MethodPost, reqURL)    fw, err := portforward.New(dialer, []string{"9999:9999"}, stopCh, readyCh, os.Stdout, os.Stdout)    if err != nil {        panic(err)    }    if err := fw.ForwardPorts(); err != nil {        panic(err)    }}golang 1.13版本:    k8s.io/api v0.0.0-20190409021203-6e4e0e4f393b    k8s.io/apimachinery v0.0.0-20190404173353-6a84e37a896d    k8s.io/cli-runtime v0.0.0-20190409023024-d644b00f3b79    k8s.io/client-go v11.0.0+incompatible我得到的錯(cuò)誤是升級(jí)連接時(shí)出錯(cuò):但之后就什么也沒(méi)有了:。您對(duì)這個(gè)話題有什么經(jīng)驗(yàn)嗎?謝謝
查看完整描述

3 回答

?
喵喵時(shí)光機(jī)

TA貢獻(xiàn)1846條經(jīng)驗(yàn) 獲得超7個(gè)贊

clientset.CoreV1().RESTClient().Post().

        Resource("pods").

        Namespace("default").

        Name("test").

        SubResource("portforward").URL()

對(duì)我有用,并給出帶有 .../api/v1/namespaces... 的 url


查看完整回答
反對(duì) 回復(fù) 2023-08-07
?
Helenr

TA貢獻(xiàn)1780條經(jīng)驗(yàn) 獲得超4個(gè)贊

有*rest.Request一個(gè)Prefix(string)方法可以用來(lái)插入丟失的子路徑:


reqURL := clientset.RESTClient().Post().

        Prefix("api/v1").

        Resource("pods").

        Namespace("default").

        Name("test").

        SubResource("portforward").URL()


查看完整回答
反對(duì) 回復(fù) 2023-08-07
?
烙印99

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超13個(gè)贊

我部分解決了問(wèn)題。至少我讓它工作了并且我對(duì)此感到滿意。


下面的代碼生成的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()

這是錯(cuò)誤的,正確的是:


https://192.168.99.125:8443/api/v1/namespaces/default/pods/influxdb-65c9fdf9cb-nzvpf/portforward

這就是我現(xiàn)在生成該 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)



查看完整回答
反對(duì) 回復(fù) 2023-08-07
  • 3 回答
  • 0 關(guān)注
  • 239 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)