Creating a Simple Client App with the Kubernetes Go Library
Despite the challenges faced in getting started with the Kubernetes Go library, an example is available that demonstrates its usage for a simple task: retrieving a Service object by name and displaying its attributes.
How to Use the Example
The provided example includes the necessary packages for interacting with the Kubernetes API. First, create a client.Config object to establish a connection to the Kubernetes API server. Next, instantiate a client using the New function and pass in the config object.
To retrieve a Service object, use the Get method on the client.Services interface. Specify the namespace and name of the Service you wish to retrieve. Once you have the Service object, you can then print its attributes, such as its name, port, and nodePort.
Code Sample
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)
}
}
This example provides a starting point for interacting with the Kubernetes API through the Go library.
Disclaimer: All resources provided are partly from the Internet. If there is any infringement of your copyright or other rights and interests, please explain the detailed reasons and provide proof of copyright or rights and interests and then send it to the email: [email protected] We will handle it for you as soon as possible.
Copyright© 2022 湘ICP备2022001581号-3