#kubernetes #kubernetes-pod #kubernetes-pvc
#kubernetes #модуль kubernetes-pod #kubernetes-pvc
Вопрос:
Иногда у меня есть куча заданий для запуска, и каждое из них монтирует pvc. Поскольку наш ресурс ограничен, некоторые модули не монтируются менее чем за одну минуту.
Невозможно подключить тома для модуля «package-job-120348968617328640-5gv7s_vname (b059856a-ecfa-11ea-a226-fa163e205547)»: истек тайм-аут ожидания подключения или монтирования томов для модуля «vname»/ «package-job-120348968617328640-5gv7s». список размонтированных томов =[tmp]. список незакрепленных томов =[log tmp].
И он обязательно повторяет попытку. Но это никогда не увенчается успехом (возраст события похож 44s (x11 over 23m)
). Но если я удалю этот модуль, это задание создаст новый модуль, и оно завершится.
Итак, почему это происходит? Разве модуль не должен повторять попытку автоматического монтирования вместо ручного вмешательства? И если этого нельзя избежать, есть ли обходной путь, позволяющий автоматически удалять модули на этапе инициализации более 2 минут?
Заключение
На самом деле сценарий подключения, предоставленный моим облачным провайдером, на некоторых узлах зависает (вызвано сетевой проблемой). Поэтому, если другие сталкиваются с этой проблемой, возможно, хорошей идеей является проверка плагина хранилища, который подключает диски.
Ответ №1:
Итак, почему это происходит? Разве модуль не должен повторять попытку автоматического монтирования вместо ручного вмешательства? И если этого нельзя избежать, есть ли обходной путь, позволяющий автоматически удалять модули на этапе инициализации более 2 минут?
Этому может быть несколько причин. Есть ли у вас какие-либо события в модуле, если вы это сделаете kubectl describe pod <podname>
? И используете ли вы повторно PVC, который ранее использовался другим модулем?
Я предполагаю, что вы используете региональный кластер, состоящий из нескольких центров обработки данных (зон доступности), и что ваш PVC расположен в одном AZ, но ваш модуль запланирован для запуска в другом AZ? В такой ситуации модуль никогда не сможет смонтировать том, поскольку он находится в другом AZ.
Комментарии:
1. Есть только одно событие, и я повторно использовал PVC, и я проверил, что у нас есть только один AZ (я очень надеюсь, что это причина, но это не так
2. Какую систему хранения вы используете? Подключены ли диски к узлам напрямую, чтобы модули на других узлах не могли их использовать?
3. Спасибо за ваши советы, в следующий раз, когда возникнет эта проблема, я посмотрю, будут ли новые модули привязаны к тому же узлу, что и старый, но все равно успешно.
4. Или два модуля используют один и тот же PVC одновременно? Если вы используете режим доступа ReadWriteOnce, том может быть смонтирован только на одном узле одновременно.
5. Нет, есть только один модуль.
Ответ №2:
У меня была такая же проблема, когда даже том, подключенный к тому же узлу, на котором запущен модуль.
Я подключился к узлу по ssh и перезапустился kubelet
, после чего проблема была устранена.