我在这里https://github.com/kubernetes/client-go/blob/master/tools/remotecommand/remotecommand.go#L108使用此Remotecommand在pod上执行命令,并将结果流式传输到io.Writer
。如上面命令中所述,仅当客户端或服务器断开连接时,流中的功能才完成。由于Stream配置仅附加了一个命令,为什么在退出命令后不将其关闭?我怎么知道命令何时完成?
尤其是我将tar -cf - ...
的结果传输到客户端,并想知道它何时完成。
答案 0 :(得分:0)
我注意到流功能确实同步运行并阻塞,直到远程命令完成为止。在调用writer.Close()
之后添加一秒钟的超时可以防止程序在我可以处理收到的tar存档之前退出。