War与Tomcat容器化问题
将一个War与Tomcat容器化(在世界上任何一个K8S上都可以运行):
- 如果需要更新War或者Tomcat都需要对镜像进行重新打包
- 镜像中只打包Tomcat,而使用数据卷(HostPath)方式进行挂载War包(需要维护一个分布式文件系统)
通用解决方法:
采用”Init Container”进行初始化操作,将需要的War包复制到相应POD的共享的Volume上面,并且这个初始化容器在目标容器运行前进行执行,就可以保证目标容器运行的时候一定存在需要的文件。
而这种模式也被称作“SideCar-边车模式”:[[开发 && 学习/云原生/边车模式(sidecar)和服务网格(server mesh)]]
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Bai's Blog!