gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 16:57:05 33 4
gpt4 key购买 nike

Rancher :v2.2.4

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

我想在 Rancher 运行的新环境中创建相同的命名空间。这个环境可以说是(测试)。获得所有必需的 docker 镜像( sudo docker image pull <server:port>/<imagename:imageversion> )后,我是否需要下载每个部分下所有这些条目的 YAML 并将它们导入到目标环境中? (可能会更改 卷 ID 容器镜像条目,即 name: <server:port>/<imagename:imageversion> 位置(如果有)、 Controller 上的目标 _0x10712071204)保持 1204我的理解是,如果我在相应的部分下创建新的工作负载/添加任何内容,标签/注释将生成一个新的 Controller ID 值!所以,我想知道在导入 YAML 之前,我是否应该将 Controller uid 条目值留空(不确定它是否会停止)。

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

什么是 有效方法 来执行此操作,这样我就不必手动下载 YAML(从 Dev)并将它们导入到每个组件级别的测试中(即 卷 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

关于namespaces - Rancher - 是否可以在新环境中启动/重新创建一个环境中可用的整个命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59383767/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com