Rook: истекло время ожидания подключения / монтирования томов для модуля.

Версия k8s: v1.9
env: VirtualBox
os: Coreos

Это кластер Kubernetes с 1 узлом. Я выполнил следующие шаги:

  1. Подписан на https://rook.io/docs/rook/v0.5/k8s-pre-reqs.html и обновил kubelet с помощью

    Environment = "RKT_OPTS = - volume modprobe, kind = host, source = / usr / sbin / modprobe \
    --mount volume = modprobe, target = / usr / sbin / modprobe \
    --volume lib- modules, kind = host, source = / lib / modules \
    --mount volume = lib-modules, target = / lib / modules \
    --uuid-file-save = / var / run / kubelet- pod.uuid "

  2. Установленная утилита ceph

    rbd -v
    ceph версии 10.2.2 (45107e21c568dd033c2f0a3107dec8f0b0e58374)

Все модули ладьи работают, но модуль MySQL выходит из строя с ошибкой «истекло время ожидания, пока тома будут подключены / монтируются для модуля».

➜  kubectl get pod -n rook-system
NAME                             READY     STATUS    RESTARTS   AGE
rook-agent-rqw6j                 1/1       Running   0          21m
rook-operator-5457d48c94-bhh2z   1/1       Running   0          22m
➜   kubectl get pod -n rook
NAME                             READY     STATUS    RESTARTS   AGE
rook-api-848df956bf-fhmg2        1/1       Running   0          20m
rook-ceph-mgr0-cfccfd6b8-8brxz   1/1       Running   0          20m
rook-ceph-mon0-xdd77             1/1       Running   0          21m
rook-ceph-mon1-gntgh             1/1       Running   0          20m
rook-ceph-mon2-srmg8             1/1       Running   0          20m
rook-ceph-osd-84wmn              1/1       Running   0          20m
➜   kubectl get pv
NAME                                       CAPACITY   ACCESSMODES   RECLAIMPOLICY   STATUS    CLAIM                    STORAGECLASS   REASON    AGE
pvc-6a4c5c2a-127d-11e8-a846-080027b424ef   20Gi       RWO           Delete          Bound     default/mysql-pv-claim   rook-block               15m
➜  kubectl get pvc
NAME             STATUS    VOLUME                                     CAPACITY   ACCESSMODES   STORAGECLASS   AGE
mysql-pv-claim   Bound     pvc-6a4c5c2a-127d-11e8-a846-080027b424ef   20Gi       RWO           rook-block     15m
kubectl get pods
NAME                               READY     STATUS              RESTARTS   AGE
wordpress-mysql-557ffc4f69-8zxsq   0/1       ContainerCreating   0          16m


Error when I describe pod : FailedMount Unable to mount volumes for pod "wordpress-mysql-557ffc4f69-8zxsq_default(6a932df1-127d-11e8-a846-080027b424ef)": timeout expired waiting for volumes to attach/mount for pod "default"/"wordpress-mysql-557ffc4f69-8zxsq". list of unattached/unmounted volumes=[mysql-persistent-storage]

Также добавлена ​​следующая опция в rook-operator.yaml

- name: FLEXVOLUME_DIR_PATH
  value: "/var/lib/kubelet/volumeplugins"

Не могли бы вы помочь с этим? Пожалуйста, дайте мне знать, если вам нужна дополнительная информация. Я проверил похожие проблемы, но решение не работает.


person Nirali Supe    schedule 18.02.2018    source источник
comment
Вы журнал кубелет смотрели?   -  person mon    schedule 18.02.2018
comment
да. Выдавалось сообщение об ошибке «Не найден подключаемый модуль тома». Я мог бы приклеить журнал, но я уничтожил его несколько часов назад. Я выложу лог, воссоздав ту же ошибку.   -  person Nirali Supe    schedule 18.02.2018


Ответы (1)


Вы используете тома cephfs или rbd в качестве серверной части для Ceph? Вот что нужно проверить:

  1. Убедитесь, что ваш Pod может нормально взаимодействовать с кластером ceph, это похоже на проблему со связью с томами ceph, которые вы пытаетесь использовать.

  2. Убедитесь, что ваши плагины тома Ceph установлены правильно.

  3. В каком состоянии # kubectl get pv?

  4. Взгляните на свои постоянные тома и претензии.

  5. Вы также можете попробовать инструмент Root.io, у него хорошая интеграция с хранилищем объектов Ceph.

person Oron Zimmer    schedule 21.02.2018