kubectl将一个文件夹复制到命名空间中所有可用的pod中



我正在尝试将文件夹复制到所有kubernete pod。下面是PS1的片段,我必须自动完成复制到一个K8吊舱的过程。

$MasterPod = $(kubectl -n $namespace get pods --selector=jmeter_mode=master --no-headers=true --output=name).Replace("pod/", "")
Write-Output "Copy over Fragments Folder to master"
kubectl cp $FragFolder $namespace/${MasterPod}:"/TestFiles"

我想对我所有的从属吊舱做同样的事情(我可以在下面列出(

$SlavePodAll = $(kubectl -n jmeter get pods --selector=jmeter_mode=slave --no-headers=true --output=name).Replace("pod/", "")
kubectl cp $FragFolder $namespace/${SlavePodAll}:"/TestFiles"

显然,最后一行不起作用,因为它有所有pod的列表。

有没有什么方法可以实现这一点,我可以用一个合适的行替换$namespace/${SlavePodAll}

由于使用--output name,因此可以执行xargs-bash脚本。


kubectl -n jmeter get pods --selector=jmeter_mode=slave --no-headers=true --output=name
| xargs -n1 -I{ins} kubectl cp $FragFolder $namespace/{ins}:"/TestFiles"
  • -n1每行执行命令
  • -I{ins}使用xargs的输入作为变量{ins},您可以在命令中使用该变量

相关内容

  • 没有找到相关文章

最新更新