首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >牧场主-可以在新环境中的一个环境中拆分/重新创建一个可用的整个命名空间吗?

牧场主-可以在新环境中的一个环境中拆分/重新创建一个可用的整个命名空间吗?
EN

Stack Overflow用户
提问于 2019-12-17 23:57:38
回答 1查看 119关注 0票数 1

牧场主: v2.2.4

在Rancher GUI中,我在我们的一个环境(Dev)上看到,它包含一个名称空间'n1‘。不同部分(即工作负载、LoadBalancers、ConfigMaps、卷等)下的命名空间很少有条目(容器/设置等)。

我想在Rancher正在运行的新环境上创建相同的名称空间。这个环境可以说是(测试)。在获得所有必需的坞映像(sudo docker image pull <server:port>/<imagename:imageversion>)之后,是否需要在每个节下下载所有这些条目的YAML并将它们导入目标环境?(可能会更改name: <server:port>/<imagename:imageversion>卷-id、容器映像条目,即位置(如果有的话)、controller-uid以保持目标(测试)环境中的位置)?我的理解是,如果我在各自的部分下创建了一个新的工作负载/添加了任何内容,标签/注释将生成一个新的控制器-id值!因此,在导入YAML之前,我想知道是否应该将控制器-uid输入值保留为空(不确定它是否会阻塞)。

是否有一种简单的方法可以在测试环境(即测试中的n1 Dev的名称空间副本)上旋转/创建一个完整的名称空间n1‘,并自动生成必要的存储位(卷类/卷和持久卷-所有这些都有与每个实体相关联的Vol /name/uid)、部署位(uid/控制器-uid)等吗?

的有效方法是什么来做到这一点,这样我就不必手动下载YAML (从Dev)并在每个组件级别(即卷YAML、卷类YAML、工作负载/部署等)中导入它们?

EN

回答 1

Stack Overflow用户

发布于 2020-08-09 08:55:53

您可以使用以下方法从命名空间获取所有资源,并将它们应用到新的命名空间中。

代码语言:javascript
运行
复制
#!/bin/bash
SourceNamespace="SourceNS"
TargetNamespace="TargetNS"
TempDir="./tmp"

echo "Grabbing all resources in $SourceNamespace"
for APIResource in `kubectl api-resources --verbs=list --namespaced -o name`
do
  kubectl -n "$SourceNamespace" get "$APIResource" -o yaml > "$TempDir"/"$APIResource".yaml
done

echo "Deploying all resources in $TargetNamespace"
for yaml in `ls $TempDir`
do
  kubectl apply -n "$TargetNamespace" -f "$TempDir"/"$yaml"
done
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59383767

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档