运行时是否可以在POD的容器中替换可执行文件?

时间:2019-04-19 18:28:22

标签: go kubernetes containers workflow

我正在Ubuntu上开发Go可执行文件,并在minikube中运行kubernetes集群。 minikube中运行的pod + container基于Ubuntu,我只想替换容器中的可执行文件。因为可执行文件是唯一需要更改的东西,所以或多或少地绕过了重新制作容器的需要。当我的更改“准备就绪”时,我计划重新制作容器所基于的图像,依此类推,但是这已经成为现实。

我真的希望迭代更快。

这可能吗?有更好的方法吗?

1 个答案:

答案 0 :(得分:1)

仅出于开发目的(非常棘手的解决方案),您可以使Ubuntu-Go容器运行tail -f /dev/null以防止其完成,并使用hostPath将包含可执行文件的路径安装到您的计算机上。容器。您可以通过运行kubectl exec来运行Go应用程序,对主机上的应用程序所做的任何更改都将反映在容器中。每当可执行文件更新时,您可以再次使用kubectl exec重新启动应用程序。

Here是有关如何使用minikube的hostPath的很好的自述文件。

记住要使用正确的二进制文件重建容器,定义正确的入口点,并修复部署/吊舱定义以排除hostPath。

希望这会有所帮助!