在Windows上合并多个kubeconfig文件

时间:2020-01-08 13:24:34

标签: kubernetes

我想将多个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'。有关更多信息,请运行“导入模块KUBECONFIG = $ HOME”。在第1行:char: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

2 个答案:

答案 0 :(得分:3)

已解决在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"

答案 1 :(得分:1)

您将需要更新命令以将分号用作Windows的分隔符

like请注意;;

$Env:KUBECONFIG=("$HOME\.kube\config;$HOME\.kube\c1.kubeconfig")

通过回声测试以检查您更新的内容

echo $Env:KUBECONFIG
C:\Users\DT\.kube\config;C:\Users\DT\.kube\c1.kubeconfig