Я пытаюсь использовать обычный том постоянного хранилища EBS в OpenShift Online Next Gen и получаю следующую ошибку при попытке развернуть:
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
Сначала я подумал, что это может быть связано с этой проблемой , но единственными работающими модулями являются развертываемые модули и те, которые пытаются запустить, и я переключился на стратегию Recreate
, как было предложено там, но безрезультатно.
В первый раз все развернулось и работало нормально, но с тех пор мне не удавалось успешно развернуть его.
Может ли кто-нибудь пролить свет на то, что я здесь делаю не так?
Обновление №1:
В качестве дополнительной морщинки, иногда, когда я развертываю, требуется много времени, чтобы развернуть модули развертывания для этого (на самом деле я не знаю, сколько времени это должно, но я получаю предупреждение предполагая, что все идет медленно, и мое текущее развертывание сидит через 15+ минут, не вставая).
В списке событий модуля развертывания я вижу несколько экземпляров каждого из Error syncing pod
и Pod sandbox changed, it will be killed and re-created.
, пока я жду, ничего не коснувшись.
Не происходит каждый раз, и я не заметил закономерности.
Не уверен, что это вообще связано, но, похоже, стоит упомянуть.
Обновление №2:
Сегодня утром я снова попытался выполнить развертывание, и после отмены одного развертывания, в котором возникла проблема, описанная в моем первом обновлении выше, все встало успешно.
Насколько мне известно, я не вносил никаких изменений, поэтому не понимаю, в чем проблема. Я сделаю дополнительную информацию о том, повторяется ли проблема.
Обновление №3
После множества дальнейших экспериментов я, кажется, теперь могу регулярно запускать и запускать свой модуль. Я ничего не менял в конфигурации, поэтому я предполагаю, что это связано с секвенированием, но даже сейчас это не без некоторых нарушений:
Если я начну развертывание, существующий запущенный модуль будет зависать на неопределенное время в состоянии terminating
в соответствии с консолью и будет оставаться в этом состоянии до тех пор, пока он не будет полностью удален (не дожидаясь его корректного закрытия). Пока этого не произойдет, он будет продолжать выдавать описанную выше ошибку (как и следовало ожидать).
Честно говоря, для меня это не имеет смысла по сравнению с проблемами, которые у меня были вчера вечером - у меня не было никаких других запущенных модулей, когда я получал эти ошибки раньше - но, по крайней мере, это прогресс в какой-то форме .
У меня возникают другие проблемы, когда мой сервер действительно запущен и работает (запросы, которые не поступают на сервер, и проблемы, пытающиеся перейти на соединение через веб-сокет), но они почти наверняка разделены, поэтому я сохраню их для другого вопрос, если только кто-то не скажет мне, что они на самом деле связаны.
Обновление №4
Список текущих проблем OpenShift не изменился, но теперь кажется, что все загружается правильно, поэтому отметьте это как решенное и переходите к другим вещам.
Для потомков изменение с Rolling
на Recreate
является ключевым моментом, и даже в этом случае вам может потребоваться вручную убить старый модуль, если он застревает, пытаясь корректно завершить работу.