OpenShift Online下一代“;无法装载pod的卷";

OpenShift Online下一代“;无法装载pod的卷";,openshift,openshift-3,Openshift,Openshift 3,我尝试在OpenShift Online下一代中使用常规EBS持久存储卷,在尝试部署时出现以下错误: Unable to mount volumes for pod "production-5-vpxpw_instanttabletop(d784f054-a66b-11e7-a41e-0ab8769191d3)": timeout expired waiting for volumes to attach/mount for pod "instanttabletop"/"producti

我尝试在OpenShift Online下一代中使用常规EBS持久存储卷,在尝试部署时出现以下错误:

    Unable to mount volumes for pod "production-5-vpxpw_instanttabletop(d784f054-a66b-11e7-a41e-0ab8769191d3)": timeout expired waiting for volumes to attach/mount for pod "instanttabletop"/"production-5-vpxpw". list of unattached/unmounted volumes=[volume-mondv]
之后(经过一段时间)出现了以下多个实例:

    Failed to attach volume "pvc-702876a2-a663-11e7-8348-0a69cdf75e6f" on node "ip-172-31-61-152.us-west-2.compute.internal" with: Error attaching EBS volume "vol-0fb5515c87914b844" to instance "i-08d3313801027fbc3": VolumeInUse: vol-0fb5515c87914b844 is already attached to an instance status code: 400, request id: 54dd24cc-6ab0-434d-85c3-f0f063e73099
部署吊舱所有超时后的日志如下所示:

    --> Scaling production-5 to 1
    --> Waiting up to 10m0s for pods in rc production-5 to become ready
    W1001 05:53:28.496345       1 reflector.go:323] github.com/openshift/origin/pkg/deploy/strategy/support/lifecycle.go:509: watch of *api.Pod ended with: too old resource version: 1455045195 (1455062250)
    error: update acceptor rejected production-5: pods for rc "production-5" took longer than 600 seconds to become ready
起初我认为这可能与相关,但唯一正在运行的pod是deploy和尝试启动的pod,我已经切换到了那里建议的
重新创建
策略,但没有结果

事情确实在第一次正常部署和运行,但从那以后,我一直无法让它成功部署

有人能解释一下我做错了什么吗

更新#1:

作为一个额外的问题,有时当我部署时,似乎需要很长的时间来启动部署吊舱(我实际上不知道需要多长时间,但我收到一条警告,表明事情进展缓慢,而我当前的部署到目前为止只需要15分钟以上,还没有站起来)

在deploy pod的事件列表中,我看到多个实例,每个
错误同步pod
pod沙箱都已更改,它将被杀死并重新创建。
在我等待时,什么都没有碰过

并不是每次都会发生,而且我还没有发现一种模式

不确定这是否相关,但似乎值得一提

更新#2:

今天早上我再次尝试部署,在取消了一次部署后,它遇到了我在上面的第一次更新中描述的问题,一切顺利

据我所知,我没有做任何改变,所以我对这里的问题感到困惑。我将进一步更新是否会再次出现问题

更新#3

经过一系列进一步的实验,我现在似乎能够让我的吊舱正常运行了。我没有对配置进行任何更改,因此我认为这与排序有关,但即使是现在,也并非没有一些不规则之处:

如果我开始部署,根据控制台,现有的运行pod将无限期地挂起在
终止
状态,并将一直挂起,直到它被硬删除(而不等待它正常关闭)。在这之前,它将继续产生上面描述的错误(正如您所期望的)

坦白地说,与我昨晚遇到的问题相比,这对我来说毫无意义——我以前遇到这些错误时没有运行其他播客——但至少在某种程度上这是一种进步

一旦我的服务器实际启动并运行,我会遇到一些其他问题(请求没有发送到服务器,以及试图升级到websocket连接的问题),但这些问题几乎肯定是分开的,所以我会将它们保存到另一个问题中,除非有人告诉我它们实际上是相关的

更新#4

OpenShift的持续问题列表并没有改变,但现在似乎正在正确加载,所以将此标记为已解决并继续处理其他问题


对于后人来说,从
滚动
更改为
重新创建
是这里的关键,即使如此,如果旧pod无法正常关闭,您也可能需要手动杀死它。

错误清楚地表明卷已连接到其他正在运行的实例

VolumeInUse: vol-0fb5515c87914b844 is already attached to an instance status code: 400, request id: 54dd24cc-6ab0-434d-85c3-f0f063e73099
必须通过以下任一方式进行清理:

1) 从正在运行的实例中解除卷的连接并重新连接。请注意数据,因为EBS卷的生命周期仅限于pod生命周期


2) 在为新生成创建另一个部署之前,请确保(通过删除容器实例)已终止先前运行的容器实例。

您不能将OpenShift Online中的持久卷与部署策略设置为“滚动”的应用程序一起使用。编辑部署配置并确保部署策略设置为“重新创建”


您声明使用了“替换”。如果通过编辑部署配置的JSON/YAML将其设置为该值,则值更改将被丢弃,因为“替换”不是有效选项。

这是我尝试的第一件事-完全清除pod列表。没有其他运行的pod可以与之冲突,除非部署pod在某种程度上是问题所在(而且它在其信息中根本没有提到有问题的卷,所以我不明白为什么会这样)。是否还有其他我不想做的事情?检查存储菜单,查看您的存储链接到哪个实例。它应该会给你一个线索,告诉你你需要从中分离出什么?很抱歉,这里很密集,但当你说“实例”时,你是什么意思?控制台中的任何内容实际上都不是这样的,我想确保我确实正确地理解了您的意思。我在存储信息中看到的唯一信息是它绑定到的卷的ID。没有看到任何关于连接到特定pod的内容。
实例
意味着openshift
部署
。抱歉,这个词与构建openshift的AWS更相关。在存储部分,记下名称字段。转到展开,单击每个展开。选中“配置”选项卡,阅读相关章节。只要适用,就会有一节提到正在使用的存储卷。卷的名称应与前面提到的名称相同。很抱歉<代码>重新创建
是我设置的。编辑了第一篇文章。你在哪个OpenShift在线环境中?新手,职业选手?哪一个例子?或者你自己的OpenShift安装?我在美国西部2的OpenShift在线入门网站上。请注意,已经取得了一些进展,但老实说,我比以往任何时候都更困惑于这件事发生了什么——那些自行消失的问题让我担心它们会同样容易地回来,呵呵。更多信息添加到第一篇文章。Tha