Когда Kubernetes client-go Remotecommand Stream завершится?

Я использую эту удаленную команду здесь https://github.com/kubernetes/client-go/blob/master/tools/remotecommand/remotecommand.go#L108, чтобы выполнить команду в модуле и передать результат в io.Writer. Как указано в приведенной выше команде, функция в ссылке Stream завершается только при отключении клиента или сервера. Поскольку конфигурация Stream имеет только одну присоединенную команду, почему она не закрывается после выхода из команды? Как я могу узнать, когда команда завершилась?

В частности, я передаю результат tar -cf - ... клиенту и хочу знать, когда он закончится.


person Techradar    schedule 21.02.2019    source источник


Ответы (1)


Я заметил, что функция Stream работает синхронно и блокируется до завершения удаленной команды. Добавление таймаута в одну секунду после вызова writer.Close() предотвратило завершение программы до того, как я смог обработать полученный tar-архив.

person Techradar    schedule 22.02.2019