How do i create a namespace using kubernetes go-client from running container inside a cluster How do i create a namespace using kubernetes go-client from running container inside a cluster kubernetes kubernetes

How do i create a namespace using kubernetes go-client from running container inside a cluster


import (    "github.com/golang/glog"    "k8s.io/client-go/kubernetes"    "k8s.io/kubernetes/pkg/api/v1"    metav1 "k8s.io/apimachinery/pkg/apis/meta/v1")clientConfig, err := config.createClientConfigFromFile()if err != nil {        glog.Fatalf("Failed to create a ClientConfig: %v. Exiting.", err)}clientset, err := clientset.NewForConfig(clientConfig)if err != nil {        glog.Fatalf("Failed to create a ClientSet: %v. Exiting.", err)}nsSpec := &v1.Namespace{ObjectMeta: metav1.ObjectMeta{Name: ns}}_, err := clientset.Core().Namespaces().Create(nsSpec)}


This one is works for me:

clientset, err := kubernetes.NewForConfig(config)if err != nil {    panic(err)}nsName := &corev1.Namespace{    ObjectMeta: metav1.ObjectMeta{        Name: "my-new-namespace",    },}clientset.CoreV1().Namespaces().Create(context.Background(), nsName, metav1.CreateOptions{})