我正在尝试将我的应用程序从Openshift Online V2迁移到Openshift Online V3,我遇到了创建容器的问题。
我的应用程序是一个在V2中创建的Java应用程序,带有两个cartriges和两个齿轮:Wildfly和PostgreSQL。我按照说明将它们迁移到V3。我没有问题创建PostgreSLQ部署,我有1个POD运行。
关于Wildfly部署,似乎是正确的,我将它链接到我的github存储库,构建它,并添加了持久存储(PostgreSQL部署)。当我尝试将Wildfly缩放到1 POD时出现问题。在“事件”选项卡中,我可以找到:
1:13:36 PM警告挂载失败(由类似事件组合而成): 无法附加卷“pvc-6647a164-a308-11e7-9eb0-122631632f42” 节点“ip-172-31-50-178.ec2.internal”:附加EBS卷时出错 “vol-0fd5df0548360269a”到实例“i-05aae55ef4783d5a7”: VolumeInUse:vol-0fd5df0548360269a已附加到实例 状态代码:400,请求ID:acd5900f-bd0f-4776-aa76-a33506f25eaf。 该卷当前附加到实例“i-0905fd62b34870511”60 过去2小时内的时间
1:10:09 PM警告安装失败无法安装pod的卷 “dentool-5-7s6nk_dentool(b490db8b-ACCF-11e7-99b4-1250f17a13c8)”: 超时已过期等待连接/装入pod的卷 “dentool”/ “dentool-5-7s6nk”。未附加/未安装的列表 volume = [volume-ts28r]在过去2小时内17次
1:10:09 PM警告同步失败错误同步最后一次17次 2小时
POD未创建,因此无法运行我的应用。 请注意,这是我对Openshift V3的第一种方法,所以也许我没有提供最好的信息。请让我知道其他信息可以提供哪些帮助。
答案 0 :(得分:1)
EBS卷类型只能在OpenShift集群中一次安装在一个节点上。如果将Java和MySQL作为单独的应用程序放在不同的节点上,那么就不能同时安装持久卷。该错误警告您。
您可以同时对Java和MySQL使用单个EBS卷的唯一方法是让它们在同一个pod的不同容器中运行。您还需要确保将部署策略设置为“重新创建”而不是“滚动”,因为滚动导致在旧实例仍然存在的情况下创建新实例,同时会出现同样的问题,因为新旧可能位于不同的节点上。
简而言之,OpenShift Online Starter并没有为您提供足够的持久性卷,无法完成您想要做的事情。