可以使用kubectlreplace更新kubernetes中服务的命名空间

可以使用kubectlreplace更新kubernetes中服务的名称空间吗?

kubernetes master在默认的命名空间中,我想要更改为kube-system命名空间。 所以我做了如下:

kubectl get svc kubernetes -o yaml > temp.yaml 

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

 kubectl replace -f temp.yaml 

但是我得到了错误:

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

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

谁能告诉我怎么做到这一点?

名称和名称空间在对象上是不可变的。 当您尝试更改名称空间时,请replace新名称空间中的服务以覆盖它。 您应该可以执行create -f ...在新的名称空间中创build服务

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