【问题标题】:Openshift 3 free: mini SpringBoot app + Mysql immediately exceeds the quota limits?Openshift 3 free:迷你SpringBoot app+Mysql立马超过配额限制?
【发布时间】:2017-09-16 02:49:05
【问题描述】:

在试验 Openshift v3 时 - 我可以使用 Wildfly 和 postgres 创建和部署一个非常简单的 Web 应用程序。

当尝试使用 Mysql(有 1 个表)创建一个非常简单的 SpringBoot 应用程序(作为 WAR)时,MySql 卷存储立即超过配额。结果,非常简单的应用程序无法正常运行。

错误创建:pod“springbootmysql-8-”被禁止:超出 配额:计算资源,请求:limits.cpu=1,limits.memory=512Mi, 使用:limits.cpu=2,limits.memory=1Gi,受限: limits.cpu=2,limits.memory=1Gi 11 分钟内 19 次

更新:现在我为两个 pod 配置了 480Mi 内存 - 没有超过内存配额。

我现在收到一条停止构建和部署的错误消息:

错误创建:pods“springbootmysql6-2-”被禁止:超出 配额:计算资源,请求: limits.cpu=957m,limits.memory=490Mi,使用: limits.cpu=1914m,limits.memory=980Mi, 有限: limits.cpu=2,limits.memory=1Gi

【问题讨论】:

    标签: openshift


    【解决方案1】:

    在 OpenShift Online Starter 上,如果同时运行一个数据库和前端,每个都使用 512MB,那么您只有足够的资源来使用重新创建部署策略。您需要进入前端的部署配置,并将部署策略从滚动更改为重新创建。

    如果更改后仍然存在相同的问题,请将前端的副本数缩减为 0,然后再恢复为 1。这将确保 Kubernetes 不会卡在之前的状态,因为它是仍在尝试在旧设置下部署。然后一切都会好起来的。

    【讨论】:

    • 部署策略仅在您强制进行新部署或部署更新版本时发挥作用。虽然您的应用程序运行良好,但它会照常处理请求。我不知道第二个问题。
    • 当我创建应用程序时,没有提出存储/卷声明。当我创建一个 mysql 数据库时,1 必须使用 1Gi 的卷/持久容量。但是......然后我的配额超出了!我将消息添加到我的初始描述中。如何继续?
    • 您的 Java 应用程序真的需要持久存储吗?如果所有数据都在数据库中,则不需要一个。如果它确实需要一个持久卷,如果使用 Starter 层,事情会变得复杂,因为你只得到一个并且你不能跨多个应用程序安装它,因为卷类型一次只能安装在集群中的一个节点上,并且有 ni 保证它们总是在同一个节点上。
    • 在 Starter 层中,您必须开始使用自定义资源定义来在同一个 pod 中运行数据库和 Java 应用程序,以便它们始终一起运行并使用一个持久卷。
    • 这会是问题吗?我通过 Java/WIldfly 安装了一个小型演示 SpringBoot。一个 Mysql 数据库 1 Gi。我收到此错误消息。我也把它放在我的主要问题中。 ---- 错误创建:pod“springbootmysql6-2-”被禁止:超出配额:计算资源,请求:limits.cpu=957m,limits.memory=490Mi,使用:limits.cpu=1914m,limits.memory= 980Mi,有限:limits.cpu=2,limits.memory=1Gi
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多