2015-10-01 3 views
4

Если я создаю эту капсулу:Kubernetes AWS EBS таймаута в ожидании тома состояния

apiVersion: v1 
kind: Pod 
metadata: 
name: dsm-manager 
spec: 
containers: 
- name: dsm-manager 
image: ****** 
imagePullPolicy: Always 
command: 
- /sbin/init 
volumeMounts: 
- mountPath: /srv/project/DSMManager/snapshots 
name: dsm-snapshot-storage 
volumes: 
- name: dsm-snapshot-storage 
awsElasticBlockStore: 
volumeID: aws://us-west-2b/vol-43e44482 
fsType: ext4 
imagePullSecrets: 
- name: dockerregistrykey 

Это всегда работает, но если я удалить его и заново создать его он застревает со статусом "CreatingContainer. Глядя на выходах событий:
-Unable монтировать тома для стручок «ДСМ-manager_default»: Тайм-аут в ожидании состояния тома
-ошибка синхронизация стручка, пропуская: Тайм-аут в ожидании объемных состояний

Если удалить стручок и воссоздать его, то же самое происходит независимо от того, что я делаю. Однако, если я присоединяю этот том к некоторому экземпляру, а затем отсоединяю его через aws cli, создайте его, который он найдет. Мне интересно, если громкость не отсоединяется должным образом. На данный момент у меня есть этот нечетный рабочий процесс присоединения тома к случайному экземпляру, а затем его отсоединение при обновлении изображения контейнера.

+0

Разве объем создается, когда вы пытаетесь создать модуль, который его использует? Это может быть вызвано этой проблемой, которая была только что открыта сегодня: https://github.com/kubernetes/kubernetes/issues/15058 –

+0

Нет, это после того, как я уже успешно создал контейнер и смонтировал его. Затем, как только я удалю модуль и попытаюсь создать новый, я столкнулся с проблемой. – delta440

ответ

5

Это, скорее всего, вызвано ошибкой в ​​коде управления Kubernetes EBS и должно быть исправлено PR #14493. Подводя итог, не проверка кеша блока устройства заставляла кубелю думать, что диск все еще был прикреплен после того, как он был фактически отсоединен.

0

Я заметил общую проблему с запуском Kubernetes и EBS volumes stuck attaching. Проблема, похоже, больше связана с EBS, чем с Kubernetes. Когда «физические» объемы EBS застревают в состоянии прикрепления, вы не можете перенести свои контейнеры, пока не перезагрузите хост. Недавно я был на контейнерной конференции, когда команда Nordstrom, которые являются крупными пользователями Kubernetes, рассказывала об этой проблеме.

Ваш лучший выбор - вероятно, использовать локальное хранилище на AWS для объемов вашего контейнера, поскольку создание и установка томов из локального хранилища Ec2 не подпадают под те же проблемы с «застреванием», что и EBS. Сожалею!

Смежные вопросы