我有kubernetes pod,在那里我将我的应用程序源代码挂载为git卷。我尝试了各种设置,以了解如何将源代码放入pod中,最后我使用的是git卷。
但现在我对数据有了一个问题。我的应用程序中有一个文件目录(空),我需要在其中挂载一个卷(Fuse)。但是由于目标位于git卷上,所以我不能这样做。所以我想知道我应该如何重新设计我的应用程序?
我应该将应用程序的源代码直接构建到镜像中,这样我就可以将数据卷挂载到其中,还是可以通过某种方式将卷挂载到另一个卷中,这样我就不需要进行任何调整?
我不能将目标目录移动到其他地方,因为它必须可以由应用程序在其目录中访问,也可以从web访问。
发布于 2017-04-26 15:21:25
我通常做的是在构建镜像时将源代码添加到docker镜像中。这是一个直截了当的过程,在部署方面,您始终可以将映像视为黑盒。这样做的目的是有效地将映像的准备和运行时的部署/更新作为两个不同的进程进行分离。
我相信这就是为什么kubernetes通过交换完整的镜像来轻松地执行滚动升级以推出新的软件版本,而不是试图修复容器的内容。只需使用以下命令即可:
kubectl set image deployment/my-nginx-deployment my-nginx-image=TagXX
替换图像还可以确保清理所有碎片(例如,增长的日志、临时文件等)。它允许你带来更多的变化,而不仅仅是改变来源(例如,升级服务器软件版本)。
它还允许您基于确切的映像执行测试/暂存,而不仅仅是在可能与生产服务器不同的服务器上进行代码部署。
你可以在Updating a Deployment下的this page上阅读它。
https://stackoverflow.com/questions/43626583
复制相似问题