可以使用kubectl替换更新kubernetes中的服务命名空间吗?
kubernetes master在默认命名空间中,我想更改为kube-system命名空间 . 所以我这样做了如下:
kubectl get svc kubernetes -o yaml > temp.yaml
这生成temp.yaml使用当前kubernetes服务信息,然后我将命名空间的值更改为temp.yaml中的kube-system和exec,如:
kubectl replace -f temp.yaml
但是我得到了错误:
Error from server: error when replacing "temp.yaml": service "kubernetes" not found
我认为kube-system命名空间中没有名为kubernetes的服务 .
谁能告诉我怎么能这样做?
2 回答
名称和名称空间在对象上是不可变的 . 当您尝试更改命名空间时,
replace
在新命名空间中查找服务以覆盖它 . 您应该能够create -f ...
在新命名空间中创建服务kubernetes
服务是特殊的,存在于default
命名空间中 . 也许事情会假设要安全地改变它 .