kubectl 创建带标签的命名空间

Sim*_*eth 5 kubernetes kubectl

有没有一种方法可以使用一个标签创建名称空间 kubectl

例如

kubectl create ns <newnamespace> label=appid:foo12
Run Code Online (Sandbox Code Playgroud)

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

小智 7

这可能会帮助您:

kubectl create namespace namespace_name
kubectl label namespaces namespace_name labelname=value --overwrite=true
Run Code Online (Sandbox Code Playgroud)


Tho*_*mas 0

立即这是不可能的,请参阅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 - 
Run Code Online (Sandbox Code Playgroud)