【问题标题】:Why does maven dependency:tree suddenly quit on Kubernetes?为什么 maven dependency:tree 在 Kubernetes 上突然退出?
【发布时间】:2018-10-12 14:31:19
【问题描述】:

我正在运行 gitlab(托管)并将 docker runner 与构建映像 maven3.5.4-jdk10 一起用于 CI。我正在尝试使用 gitlab 提供的 helm 图表和用于缓存的 Minio 将此设置移动到 Azure 上的工作 Kubernetes 集群。一切正常,注册了跑步者,部署了 pod,开始构建,

$ mvn --settings .m2/settings.xml --batch-mode --errors --show-version -X -T 1C dependency:tree

去下载工件。现在每次下载 x 数量的文件后构建停止,运行器压缩缓存并完成“成功”。即使启用了 Maven 调试,也没有一条消息表明有任何问题。

多次重复上述过程,由于缓存,越来越多的文件被下载,直到最后,构建能够进入编译阶段。将构建镜像更改为maven 3.3.9时出现同样的问题,重建集群后出现同样的问题。

mvn dependency:tree 是否应该在没有任何迹象的情况下停止它正在做的事情?

【问题讨论】:

  • 我也很感谢任何关于如何明智地解决此故障的 cmets,因为我没有任何想法:O

标签: maven docker kubernetes kubernetes-helm azure-aks


【解决方案1】:

从 Kubernetes 方面来看,并非如此。

但是,在 Kubernetes 中运行与在笔记本电脑上运行不同,因为您要与其他 pod 和工作负载共享服务器资源。除非您共享集群上运行的内容,否则很难判断,但可能是您的集群中没有任何资源,并且随着缓存大小的增加,maven 需要更多的 CPU、内存等。

您可以尝试为您的 pod 配置 Resource and Limits,这样您就可以在集群中运行 maven 时得到保证。您还可以尝试在任何新作业/构建开始之前清除缓存。

【讨论】:

  • 没有提到这个。否则集群是空的。资源限制配置在 Maven 最大堆大小之上。即使这是 pod 应该死的问题,但它只是 maven,甚至缓存上传阶段也在此之后运行。也没有OOM错误或任何其他异常
猜你喜欢
  • 1970-01-01
  • 2013-09-19
  • 2010-12-22
  • 1970-01-01
  • 1970-01-01
  • 2023-02-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多