簡體   English   中英

如何使用 kubernetes go-client 從集群內運行的容器創建命名空間

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

我有一個 Kubernetes 集群和一個正在運行的容器 (X)。 我想從這個容器創建一個新的命名空間,在這個命名空間中部署一個 pod 並生成容器(Y)。 我知道 kubernetes 提供 REST API。 但是,我正在探索 goClient 來做同樣的事情,但不確定如何使用命名空間創建 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)
}

這個對我有用:

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{})

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM