kubernetes kubectl创建带标签的名称空间

f0ofjuux  于 2022-11-02  发布在  Kubernetes
关注(0)|答案(3)|浏览(181)

有没有办法使用kubectl创建一个带有一个标签的名称空间?
例如:

kubectl create ns <newnamespace> label=appid:foo12

而不是使用kubectl apply -f <somefile>

wbgh16ku

wbgh16ku1#

这可以帮助您:

kubectl create namespace namespace_name
kubectl label namespaces namespace_name labelname=value --overwrite=true
tez616oj

tez616oj2#

马上这样做是不可能的,请参阅kubectl help create ns手册.但有解决方案:您可以使用kubectl创建名称空间并立即使用kubectl label namespaces <newnamespace> label=appid:foo12标记它,或者您可以使用kubectl生成yaml,在其中添加标签:kubectl create namespace demo --dry-run=client -o yaml
如果您真的非常渴望在一个命令中完成所有这些操作,那么可以修改JSON内联,例如

kubectl create namespace demo --dry-run=client -o yaml | \
 sed  '/^metadata:/a\ \ labels: {"demo":"true"}' | kubectl apply -f -
vwoqyblh

vwoqyblh3#

在创建命名空间时还没有直接的方法来设置标签。首先,创建一个命名空间,然后给它加标签。在k8s版本“v1.20.15”之前,可以按如下方式添加标签:


**Create namespace and add label:**

    kubectl create namespace test

    kubectl label namespace test any_name=any_value 

    kubectl label namespace test food=delicous

更多信息:

kubectl label namespaces -h

相关问题