我想将多个kubeconfig文件合并到一个配置文件中,我使用Windows 10和PS作为逗号行。我在$HOME\.kube\config目录中有3个配置文件,我用C:\Users\Username\.kube.\config设置了一个KUBECONFIG环境变量
我尝试了下面的命令,但是我收到一个错误,上面写着:
KUBECONFIG=$HOME.kube\config:$HOME.kube\c1.kubeconfig\$HOME.kube\c2.kubeconfig :无法加载模块“KUBECONFIG=$HOME”。有关更多信息,请运行“=$HOME”。一行:1字符:1+ KUBECONFIG=$HOME.kube\config:$HOME.kube\c1.kubeconfig\$HOME.k .+~+ CategoryInfo : ObjectNotFound:(KUBECONFIG=$HOM...2.kubeconfig:String) [],CommandNotFoundException + FullyQualifiedErrorId : CouldNotAutoLoadModule
KUBECONFIG=$HOME\.kube\config:$HOME\.kube\c1.kubeconfig\$HOME\.kube\c2.kubeconfig kubectl config view --merge --flatten $HOME\.kube\merged_kubeconfig我的文件夹结构如下。
.kube
-c1.kubeconfig
-c2.kubeconfig
-config发布于 2020-01-08 15:40:02
使用下面的Windows命令解决合并kubeconfig文件的问题
$Env:KUBECONFIG=("$HOME\.kube\config;$HOME\.kube\c1.kubeconfig;$HOME\.kube\c2.kubeconfig"); kubectl config view --merge --flatten | Out-File "C:\Users\SU\tmp\config"发布于 2020-01-08 14:33:13
您需要更新命令,以便在Windows中使用分号作为分隔符
如注意的用法;
$Env:KUBECONFIG=("$HOME\.kube\config;$HOME\.kube\c1.kubeconfig")通过echo进行测试,以检查所更新的内容。
echo $Env:KUBECONFIG
C:\Users\DT\.kube\config;C:\Users\DT\.kube\c1.kubeconfig发布于 2021-10-27 18:05:01
我尝试执行第一个命令,但它成功了,但我想将输出文件imediatelly放在$HOME\.kube\中,而不需要任何中间步骤。(在其他地方创建新文件。)我不可能用文件输出命令来完成的。out配置文件始终只包含来自第二个文件的内容。所以我的解决方案是:
$Env:KUBECONFIG=("$HOME\.kube\config;$HOME\Downloads\config"); kubectl config view --merge --flatten | Set-Content $HOME\.kube\config对于第二个配置,我使用“下载”文件夹,因为它是我通常下载文件的地方,但是您可以将它更改为任何您想要的。
地雷解决方案与第一个答案之间的主要区别是设置内容命令。
https://stackoverflow.com/questions/59646859
复制相似问题