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