Maison  >  Article  >  développement back-end  >  Comment créer un port de service dans Client Go

Comment créer un port de service dans Client Go

王林
王林avant
2024-02-08 22:48:33840parcourir

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

Créer des ports de service dans Client go est une compétence importante et cruciale pour les développeurs. En créant un port de service, la communication entre le client et le serveur peut être réalisée, réalisant ainsi la transmission et l'interaction de données. Dans cet article, l'éditeur PHP Xinyi présentera comment créer un port de service dans Client go pour aider les développeurs à mieux maîtriser cette compétence. Découvrons-le ensemble !

Contenu de la question

J'ai un problème pour ajouter un champ de port dans servicespec. Qu'ai-je fait de mal?

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

        },
    }

Solution

Cela a fonctionné pour moi

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)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer