可以使用kubectl替换更新kubernetes中的服务命名空间

时间:2015-09-17 11:26:38

标签: docker kubernetes

可以使用kubectl替换更新kubernetes中服务的命名空间吗?

kubernetes master在默认命名空间中,我想更改为kube-system命名空间。所以我按照以下方式做到了:

kubectl get svc kubernetes -o yaml > temp.yaml

这生成temp.yaml使用当前kubernetes服务信息,然后我将命名空间的值更改为temp.yaml和exec中的kube-system:

kubectl replace -f temp.yaml

但是我得到了错误:

Error from server: error when replacing "temp.yaml": service "kubernetes" not found

我认为kube-system命名空间中没有名为kubernetes的服务。

谁能告诉我怎么能这样做?

2 个答案:

答案 0 :(得分:2)

名称和名称空间在对象上是不可变的。当您尝试更改命名空间时,replace会在新命名空间中查找服务以覆盖它。您应该能够create -f ...在新命名空间中创建服务

答案 1 :(得分:0)

kubernetes服务很特殊,存在于default命名空间中。事情也可能假设要安全地改变它。