我们正在将我们的DevOps
管道移动到一个新的集群中,并且在使用它时,我们在调用时遇到了一个奇怪的kind
行为PowerShell
。这也适用于kubectl
。
以下内容应仅作为重现,而不是真实世界的应用程序。换句话说,我不想修复以下代码,但我正在寻找错误发生原因的解释:
curl.exe -Lo kind-windows-amd64.exe https://kind.sigs.k8s.io/dl/v0.10.0/kind-windows-amd64
Move-Item .\kind-windows-amd64.exe c:\temp\kind.exe -Force
$job = Start-Job -ScriptBlock { iex "$args" } -ArgumentList c:\temp\kind.exe, get, clusters
$job | Receive-Job -Wait -AutoRemoveJob
现在,如果我直接c:\temp\kind.exe get clusters
在 PowerShell 窗口中执行命令,就不会发生错误:
换句话说,为什么 PowerShell(任何版本)将STDOUT
ofkind/kubectl
视为STDERR
?我怎样才能防止这种情况发生?
它必须有一个环境因素,因为相同的确切代码在一个系统中运行良好,而在另一个系统中它会引发错误......