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.
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