Когда Kubernetes client-go Remotecommand Stream заканчивается?

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

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

1 ответ

Решение

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

Другие вопросы по тегам