"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment récupérer un objet de service Kubernetes à l'aide de la bibliothèque Go ?

Comment récupérer un objet de service Kubernetes à l'aide de la bibliothèque Go ?

Publié le 2024-11-05
Parcourir:419

How to Retrieve a Kubernetes Service Object Using the Go Library?

Création d'une application client simple avec la bibliothèque Kubernetes Go

Malgré les défis rencontrés pour démarrer avec la bibliothèque Kubernetes Go, un exemple est disponible qui démontre son utilisation pour une tâche simple : récupérer un objet Service par son nom et afficher ses attributs.

Comment utiliser l'exemple

L'exemple fourni inclut les éléments nécessaires packages pour interagir avec l’API Kubernetes. Tout d’abord, créez un objet client.Config pour établir une connexion au serveur API Kubernetes. Ensuite, instanciez un client à l'aide de la fonction New et transmettez l'objet de configuration.

Pour récupérer un objet Service, utilisez la méthode Get sur l'interface client.Services. Spécifiez l'espace de noms et le nom du service que vous souhaitez récupérer. Une fois que vous avez l'objet Service, vous pouvez ensuite imprimer ses attributs, tels que son nom, son port et son nodePort.

Exemple de code

package main

import (
    "fmt"
    "log"

    "github.com/kubernetes/kubernetes/pkg/api"
    client "github.com/kubernetes/kubernetes/pkg/client/unversioned"
)

func main() {

    config := client.Config{
        Host: "http://my-kube-api-server.me:8080",
    }
    c, err := client.New(&config)
    if err != nil {
        log.Fatalln("Can't connect to Kubernetes API:", err)
    }

    s, err := c.Services(api.NamespaceDefault).Get("some-service-name")
    if err != nil {
        log.Fatalln("Can't get service:", err)
    }
    fmt.Println("Name:", s.Name)
    for p, _ := range s.Spec.Ports {
        fmt.Println("Port:", s.Spec.Ports[p].Port)
        fmt.Println("NodePort:", s.Spec.Ports[p].NodePort)
    }
}

Cet exemple fournit un point de départ pour interagir avec l'API Kubernetes via la bibliothèque Go.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3