Trident: Невозможно отсоединить тома, прикрепленные к удаленным узлам

Созданный на 14 янв. 2022  ·  4Комментарии  ·  Источник: NetApp/trident

Опишите ошибку

Мы не можем отсоединять тома, прикрепленные к удаленным узлам в Trident 21.10.1. В Trident v21.07.2 эти тома автоматически отключались по истечении определенного периода времени. Если я правильно понимаю, это принудительное отсоединение выполняется с помощью AttachDetachController после ReconcilerMaxWaitForUnmountDuration .

Кажется, это изменение внесено в этот коммит . Эта фиксация заставляет Trident ControllerUnpublishVolume проверять существование узла. Если узел не существует, ControllerUnpublishVolume теперь возвращает ошибку NotFound , поэтому отсоединение тома всегда завершается ошибкой, когда узел уже удален.

При сбое сервера отключение тома может завершиться неудачно, и у нас нет другого выбора, кроме как удалить узел, поэтому желательно отключать тома, присоединенные к удаленным узлам, автоматически.

Окружающая обстановка

  • Версия трезубца: 21.10.1
  • Используемые флаги установки Trident: silenceAutosupport: true (оператор Trident)
  • Среда выполнения контейнера: Docker 20.10.11
  • Версия Кубернета: 1.22.5
  • Оркестратор Kubernetes: Kubernetes
  • Шлюзы функций с поддержкой Kubernetes:
  • ОС: Ubuntu 20.04.3 LTS
  • Типы бэкенда NetApp: ONTAP AFF 9.7P13
  • Другой:

Воспроизвести

  • Создайте StatefulSet с томом ontap-san
  • Удалите объект узла, на который запланирован под, на kubectl delete node
  • Контроллер StatefulSet воссоздает новый Pod на другом узле через короткое время.
  • Воссозданный Pod не может быть присоединен к тому даже через 1 час.

    • В Trident версии 21.07.2 Pod заработает через 6–8 минут.

В VolumeAttachment можно найти следующую ошибку.

rpc error: code = NotFound desc = node <NODE_NAME> was not found'

Ожидаемое поведение

Trident автоматически отсоединяет тома, присоединенные к удаленным узлам.

bug tracked

Самый полезный комментарий

@paalkr , команда в настоящее время работает над исправлением. Мы обновим эту проблему со ссылкой на коммит после его слияния.

Все 4 Комментарий

Мы запускаем кластер Kubernetes из 100+ узлов на AWS, который в значительной степени зависит от спотовых узлов. Спотовые узлы будут отключены с предупреждением всего за несколько минут на AWS, что, как ожидается, будет происходить довольно часто. Даже если мы запускаем обработчик завершения узла в режиме SQS и реагируем на уведомления о завершении с автоматическим сбросом узла, мы обычно оказываемся в ситуации, когда процесс отсоединения не завершается до удаления узла.

В этом случае мы часто сталкиваемся с той же проблемой, что и @tksm. Это серьезная проблема, так как рабочие нагрузки застревают в состоянии зацикливания, потому что PVC не удается подключить после перемещения модуля на новый узел. Я надеюсь, что проблема может быть исправлена.

Есть ETA на исправление?

@paalkr , команда в настоящее время работает над исправлением. Мы обновим эту проблему со ссылкой на коммит после его слияния.

Отлично, большое спасибо.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги