Heim >Backend-Entwicklung >Golang >So erstellen Sie einen Service-Port im Client Go

So erstellen Sie einen Service-Port im Client Go

王林
王林nach vorne
2024-02-08 22:48:33870Durchsuche

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

Das Erstellen von Service-Ports in Client Go ist eine wichtige Fähigkeit und von entscheidender Bedeutung für Entwickler. Durch die Erstellung eines Service-Ports kann die Kommunikation zwischen dem Client und dem Server erreicht werden, wodurch die Datenübertragung und -interaktion realisiert wird. In diesem Artikel stellt der PHP-Editor Xinyi vor, wie man einen Service-Port in Client Go erstellt, um Entwicklern dabei zu helfen, diese Fähigkeit besser zu beherrschen. Finden wir es gemeinsam heraus!

Frageninhalt

Ich habe ein Problem beim Hinzufügen eines Portfelds in servicespec. Was habe ich falsch gemacht?

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

        },
    }

Lösung

Das hat bei mir funktioniert

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)

Das obige ist der detaillierte Inhalt vonSo erstellen Sie einen Service-Port im Client Go. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:stackoverflow.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen