当我们想扩展JVM类路径时,在ConfigMap上托管Java jar文件是一个好主意吗?
通常,应用程序本身被烘焙到docker映像中,但是要扩展它(通过插件jar等)需要附加卷,将jar文件复制到该卷,然后重新启动pod,但是您需要一个卷来执行此操作。另一个选择是将jar作为二进制对象直接放入ConfigMap中,然后重新启动pod。后者似乎更容易,更快捷,并且应适用于small size个jar文件。
答案 0 :(得分:1)
否,ConfigMap仅设计用于元数据。 实际上,etcd(kubernetes中的默认键/值存储)的对象大小上限为1MB。
您可以做的是将jar托管在其他服务中,并让init容器在java服务启动之前下载文件。
答案 1 :(得分:1)
将jar放入配置映射中似乎是一种解决方法。尝试其他解决方案。
为什么您不能在Docker映像上打包此依赖项?
您可以使用@reegnz指向的初始化容器
此功能的文档在这里:
https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-initialization/