首页 > 解决方案 > 有没有办法从 kube 集群中导出资源,以便可以将其应用于另一个集群

问题描述

我正在尝试从一个集群中导出一些 kube 资源(配置映射、部署、服务),以便将其应用于另一个集群。

像这样的东西......

kubectl --kubeconfig ${src} -n ${ns} 获取配置映射 ${cm} -o yaml | \ kubectl --kubeconfig ${dst} -n ${ns} 应用 -f -

它很有效,一次。尚未创建资源的第一次。如果我第二次运行它,尝试更新目标,我会收到类似的错误...

对象已被修改;请将您的更改应用到最新版本,然后重试。

我怀疑它与输出中出现的 resourceVersion 或时间戳字段有关。

是否可以输出资源,以便去除所有服务器端特定信息?其他的一堆 sed delete 和 grep -v 语句。

TIA

标签: kubernetes

解决方案


您可以使用以下带有--export标志的命令来删除特定于集群的信息。

kubectl get cm cmname -o yaml --export > cm.yaml

--export已弃用并将在将来删除的警告。因此,使用它需要您自担风险。


推荐阅读