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