首頁  >  文章  >  後端開發  >  如何在Client go中建立服務端口

如何在Client go中建立服務端口

王林
王林轉載
2024-02-08 22:48:33840瀏覽

如何在Client go中创建服务端口

在Client go中建立服務連接埠是一項重要的技能,對於開發人員來說至關重要。透過建立服務端口,可以實現客戶端與伺服器之間的通信,從而實現資料的傳輸和互動。本文將由php小編新一為大家介紹如何在Client go中建立服務端口,幫助開發人員更好地掌握這項技能。讓我們一起來了解吧!

問題內容

我在 servicespec 中新增連接埠欄位時遇到問題。我做錯了什麼?

import (
    corev1 "k8s.io/api/core/v1"
    metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)

    port := corev1.ServicePort{}
    port.Port = 8443
    ports := make(corev1.ServicePort, 1)

    service := &corev1.Service{
        ObjectMeta: metav1.ObjectMeta{
            Name:      "test-webhook-admissions",
            Namespace: "test",
            Labels: map[string]string{
                "app.kubernetes.io/instance": "test",
                "app.kubernetes.io/name":     "test",
                "control-plane":              "controller-manager",
            },
        },
        Spec: corev1.ServiceSpec{
            Ports:    ports, // Not working
            Selector: nil,
            //ClusterIP:                "",

        },
    }

解決方法

這對我有用

func GetLabels() map[string]string {

    return map[string]string{
        "app.kubernetes.io/instance": "test",
        "app.kubernetes.io/name":     "test",
        "control-plane":              "controller-manager",
    }

}


    service := &corev1.Service{
        ObjectMeta: metav1.ObjectMeta{
            Name:      "test-webhook-admissions",
            Namespace: namespace,
            Labels:    GetLabels(),
        },
        Spec: corev1.ServiceSpec{
            Ports: []corev1.ServicePort{
                {
                    Name:       "webhook",
                    Port:       8443,
                    TargetPort: intstr.FromInt(8443),
                    Protocol:   "TCP",
                },
            },
            Selector: GetLabels(),
        },
    }

    err := w.Client.Create(context.Background(), service)

以上是如何在Client go中建立服務端口的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:stackoverflow.com。如有侵權,請聯絡admin@php.cn刪除