Подключение к постоянному объему в Kubernetes? - PullRequest
0 голосов
/ 04 мая 2018

Я в процессе преобразования стека в k8s. База данных требует постоянного хранилища.

Я использовал kubectl create -f pv.yaml

pv.yaml (с правками, основанными на ответе @ whites11) :

kind: PersistentVolume
apiVersion: v1
metadata:
  name: pv-volume
  labels:
    type: local
spec:
  storageClassName: manual
  capacity:
    storage: 10Gi
  accessModes:
    - ReadWriteOnce
  hostPath:
    path: "/nfs"
  claimRef:
    kind: PersistentVolumeClaim
    namespace: default
    name: mongo-persisted-storage

Затем я создаю пример набора реплик монго .

Когда я смотрю на свою панель управления k8s, я вижу ошибку:

PersistentVolumeClaim не связан: "mongo-persistent-storage-mongo-0" (повторяется 2 раза)

enter image description here

На вкладке постоянного объема я вижу объем, который выглядит нормально:

enter image description here

У меня проблемы с определением следующего шага для успешного выполнения требования по объему.

Редактировать # 2

Я зашел на страницу PVC в графическом интерфейсе и добавил том к заявке вручную (на основе отзывов @ whites11) . Я вижу, что PVC был обновлен с объемом, но это все еще ожидает.

enter image description here

Редактировать # 3

Понимая, что после внесения изменений, предложенных @ whites11, оригинальное сообщение об ошибке в модуле изменилось. Сейчас это "постоянный объем" pvvolume "не найден (повторяется 2 раза)", я думаю, мне просто нужно выяснить, где я написал pvvolume, а не pv-volume. (или это может быть - был где-то автоматически разобран?

enter image description here

1 Ответ

0 голосов
/ 04 мая 2018

Вам необходимо вручную привязать ваш PV к вашему PVC, добавив соответствующий раздел claimRef к спецификации PV.

На практике отредактируйте свой PV с помощью метода, который вы предпочитаете, и добавьте раздел, подобный следующему:

claimRef:
  name: mongo-persisted-storag
  namespace: <your PVC namespace>

Затем вам нужно отредактировать свой PVC, чтобы связать правильный объем, добавив следующее в раздел spec:

volumeName: "<your volume name>"

Вот объяснение того, как этот процесс работает: https://docs.openshift.org/latest/dev_guide/persistent_volumes.html#persistent-volumes-volumes-and-claim-prebinding

...