我有一个Kubernetes集群,并且有一个正在运行的容器(X)。我要从此容器创建一个新的命名空间,在此 namespace 中部署一个pod并生成容器(Y)。我知道kubernetes提供了REST API。但是,我正在探索goClient来执行相同操作,并且不确定如何使用 namespace 创建api。
最佳答案
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)
}
关于kubernetes - 我如何使用kubernetes go-client从集群中运行的容器创建 namespace ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44711709/