У меня есть тестовый процесс, который выдает файл в качестве вывода.
Я хочу запустить этот процесс тестирования во время сборки, запустить его до завершения, затем собрать полученный файл и скопировать его обратно в контекст сборки.
Как правильно сделать это в Кубернетес / Хелм?
Процесс сборки имеет доступ к kubectl
и helm
инструментам CLI.
У меня есть требование не использовать kubectl exec
, потому что настройки кластера не разрешают его.
Некоторые детали:
Мне удалось настроить одноразовый процесс, используя Pod
.
Я настроил процесс для сохранения выходного файла в монтируемом томе, который монтируется на томе emptyDir
.
Я не могу понять, как получить выходной файл.
Я пытался kubectl cp
, но не могу заставить его работать (такого файла или каталога нет).
Я не могу понять, как проверить содержимое остановленного контейнера.
Я не могу понять, как увидеть, что находится в томе.
kubectl logs
показывает, что процесс тестирования прошел успешно. Файл создается в контейнере и хранится в ожидаемом месте.
Быстрое обновление:
В моей локальной среде мини-кубов мне удалось настроить постоянный том и скопировать выходной файл обратно в файловую систему хоста. Я попробую это дальше в среде Дженкинса.
Вот вывод kubectl cp
в моей локальной (boot2docker) среде:
$ kubectl cp my-pod:/home/node/output . -c mycontainer
error: home/node/output no such file or directory
/home/node/output
- это путь volumeMount внутри контейнера.