Можно ли заменить исполняемый файл в контейнере в POD во время его работы? - PullRequest
1 голос
/ 19 апреля 2019

Я разрабатываю исполняемый файл Go в Ubuntu и запускаю кластер kubernetes в миникубе. Контейнер pod +, работающий в minikube, основан на Ubuntu, и я просто хочу заменить исполняемый файл в контейнере. Более или менее в обход необходимости переделывать контейнер, потому что исполняемый файл - единственное, что нужно изменить. Когда мои изменения будут «готовы», я планирую переделать изображение, на котором основан контейнер, и т. Д., Но это в будущем.

Я действительно хочу повторить итерацию.

Возможно ли это? Есть ли лучший способ?

1 Ответ

1 голос
/ 20 апреля 2019

ТОЛЬКО в целях разработки (довольно хакерское решение), вы можете настроить контейнер Ubuntu-Go на выполнение tail -f /dev/null, чтобы не допустить его завершения, и использовать hostPath, чтобы смонтировать путь, содержащий ваш исполняемый файл, в ваш контейнер. Вы можете запустить свое приложение Go, запустив kubectl exec, и любые изменения, внесенные в приложение на вашем хосте, будут отражены в контейнере. Вы можете перезапустить приложение, снова с помощью kubectl exec каждый раз, когда исполняемый файл обновляется.

Здесь - хорошее руководство по использованию hostPath minikube.

ПОМНИТЕ В ПРОИЗВОДСТВЕ, чтобы перестроить контейнер с правильным двоичным файлом, определить правильную точку входа и исправить определение развертывания / модуля, исключив hostPath.

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...