import ( "fmt" "k8s.io/kubernetes/pkg/client" "k8s.io/kubernetes/pkg/client/unversioned" "k8s.io/kubernetes/pkg/api" ) func main() { // Get a Kubernetes client kubeClient, _ := client.New(nil) // Use the client to get a Services interface servicesClient := kubeClient.Services(api.NamespaceDefault) // Use the Services interface to get a list of all Services servicesList, _ := servicesClient.List(api.ListOptions{}) // Iterate through the list of Services and print their names for _, svc := range servicesList.Items { fmt.Println(svc.Name) } }
import ( "fmt" "k8s.io/kubernetes/pkg/client" "k8s.io/kubernetes/pkg/client/unversioned" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" ) func main() { // Get a Kubernetes client kubeClient, _ := client.New(nil) // Use the client to get a Services interface servicesClient := kubeClient.Services(api.NamespaceDefault) // Create a new Service object myService := &v1.Service{ ObjectMeta: api.ObjectMeta{ Name: "my-service", }, Spec: v1.ServiceSpec{ Selector: map[string]string{ "app": "my-app", }, Ports: []v1.ServicePort{ { Port: 80, TargetPort: intstr.FromInt(9090), }, }, }, } // Use the Services interface to create the new Service createdService, _ := servicesClient.Create(myService) // Print the created Service's name fmt.Println(createdService.Name) }In this example, we use the Services interface to create a new Service with a name "my-service" that targets Pods labeled "app=my-app" on port 9090. We then print the name of the created Service. Overall, the k8s.io/kubernetes/pkg/client/unversioned Interface Services package library provides useful tools for interacting with Kubernetes services in Go.