当Kubernetes client-go Remotecommand Stream完成时?

时间:2019-02-21 07:57:07

标签: go kubernetes remotecommand client-go

我在这里https://github.com/kubernetes/client-go/blob/master/tools/remotecommand/remotecommand.go#L108使用此Remotecommand在pod上执行命令,并将结果流式传输到io.Writer。如上面命令中所述,仅当客户端或服务器断开连接时,流中的功能才完成。由于Stream配置仅附加了一个命令,为什么在退出命令后不将其关闭?我怎么知道命令何时完成?

尤其是我将tar -cf - ...的结果传输到客户端,并想知道它何时完成。

1 个答案:

答案 0 :(得分:0)

我注意到流功能确实同步运行并阻塞,直到远程命令完成为止。在调用writer.Close()之后添加一秒钟的超时可以防止程序在我可以处理收到的tar存档之前退出。