Namespaces Rancher—是否可以在新环境的一个环境中启动/重新创建可用的整个命名空间

Namespaces Rancher—是否可以在新环境的一个环境中启动/重新创建可用的整个命名空间,namespaces,yaml,containers,rancher,rancher-rke,Namespaces,Yaml,Containers,Rancher,Rancher Rke,牧场主:v2.2.4 在Rancher GUI中,我在我们的一个环境(Dev)上看到,它包含一个名称空间“n1”。不同部分(即工作负载、负载平衡器、配置映射、卷等)下的名称空间几乎没有条目(容器/设置等) 我想在Rancher运行的新环境中创建相同的名称空间。这个环境可以说是(测试)。在获得所有必需的docker映像(sudo docker image pull/)后,我是否需要下载每个部分下所有这些条目的YAML并将它们导入目标环境?(可能更改卷id,容器映像条目,即名称:/位置(如有),控制

牧场主:v2.2.4

在Rancher GUI中,我在我们的一个环境(Dev)上看到,它包含一个名称空间“n1”。不同部分(即工作负载、负载平衡器、配置映射、卷等)下的名称空间几乎没有条目(容器/设置等)

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

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


什么是一种有效的方法,这样我就不必手动下载YAML(从开发人员处)并在每个组件级别(即卷YAML、卷类YAML、工作负载/部署YAML等)的测试中导入它们?

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

#!/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

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

#!/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

这可能是一个非常糟糕的建议,但是..你可以尝试一下这可能是一个非常糟糕的建议,但是..你可以尝试一下