Démarrez avec la bibliothèque Kubernetes Go : une application client simple
Lorsque vous travaillez avec Kubernetes, la bibliothèque Go fournit une interface pratique pour interagir avec l'API. Cependant, la documentation et les exemples peuvent parfois être désynchronisés avec la dernière version de la bibliothèque. Pour résoudre ce problème, examinons un exemple simple qui montre comment démarrer.
Objectif : Récupérez un objet Service par son nom et imprimez ses attributs, tels que nodePort.
Solution :
Après avoir expérimenté et demandé conseil auprès du canal Kubernetes Slack, l'extrait de code suivant fournit un exemple fonctionnel :
<code class="go">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) } }</code>
Implémentation :
Remarque : Bien que ce soit possible pour obtenir le même résultat en utilisant l'API RESTful, l'utilisation de la bibliothèque Go permet un code plus rationalisé et idiomatique.
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!