Rumah >pembangunan bahagian belakang >Golang >Cara membuat port perkhidmatan dalam Client go

Cara membuat port perkhidmatan dalam Client go

王林
王林ke hadapan
2024-02-08 22:48:33867semak imbas

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

Mencipta port perkhidmatan dalam Client go ialah kemahiran penting dan penting untuk pembangun. Dengan mewujudkan port perkhidmatan, komunikasi antara pelanggan dan pelayan boleh dicapai, dengan itu merealisasikan penghantaran dan interaksi data. Dalam artikel ini, editor PHP Xinyi akan memperkenalkan cara membuat port perkhidmatan dalam Client go untuk membantu pembangun menguasai kemahiran ini dengan lebih baik. Mari kita ketahui bersama!

Kandungan soalan

Saya menghadapi masalah menambah medan port dalam servicespec. Apa yang saya buat salah?

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:                "",

        },
    }

Penyelesaian

Ini berkesan untuk saya

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)

Atas ialah kandungan terperinci Cara membuat port perkhidmatan dalam Client go. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:stackoverflow.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam