在 Kubernetes ConfigMap 上托管 jar 文件

Hosting jar files on Kubernetes ConfigMap

当我们想要扩展 JVM 类路径时,在 ConfigMap 上托管 java jar 文件是个好主意吗?

通常应用程序本身被烘焙到 docker 图像中,但扩展它(通过插件 jar 等)需要附加卷,将 jar 文件复制到卷并重新启动 pod,但你需要一个卷要做到这一点。另一种选择是将 jar 作为二进制对象直接放入 ConfigMap 并重新启动 pod。后者似乎更容易和更快,它应该适用于 small size 个 jar 文件。

不,ConfigMap 专为元数据而设计。 事实上 etcd(默认 key/value 存储在 kubernetes 中)对象大小上限为 1MB。

您可以做的是将 jar 托管在不同的服务中,并让初始化容器在 java 服务启动之前下载文件。

将 jar 放入配置映射似乎是一种解决方法。尝试其他解决方案。

为什么不能打包对 docker 图片的依赖?

您可以使用 @reegnz 指出的初始化容器

此功能的文档在这里:

https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-initialization/