использовал docker-compose, там какбэ всё просто: вот что монтируем, вот куда монтируем. а тут сначала persistentvolume, потом на него pvc, потом этот pvc подоткнуть к поду... песец. а как к нему из контейнеров обращаться потом? по имени?.. или там путь монтирования настраивается?..
В Kuberentes есть такая сущность как PV и PVC Когда ты создаешь PV ( в твоем случае ты хочешь смонтировать папку на хосте) Ты создаешь сущность вида : kind: PersistentVolume apiVersion: v1 metadata: name: name-of-pv spec: capacity: storage: 1Gi accessModes: - ReadWriteOnce hostPath: path: /some/path/on/host/machine Обычно этим занимается провижинер и тебе стоит создать PVC и контроллер сам создаст \ присвоит к клейму PV Дальше тебе нужно заклеймить данный PV себе и ты создаешьс PVC : kind: PersistentVolumeClaim apiVersion: v1 metadata: name: name-of-pvc spec: accessModes: - ReadWriteOnce resources: requests: storage: 1Gi В данном случае конкретно этот PVC заберет себе первый попавшийся PV который совпадает по типу доступа (ReadWriteOnce) и по сторажу (1Gi) — Так, вроде и PV ты создал и папку указал и PVC сделал чтобы занять созданный PV Теперь прокидывание в контейнер, предположим у тебя есть какой-нибудь Deployment. Пусть будет Nginx, давай попробуем примонтировать волюм в контейнер: apiVersion: extensions/v1beta1 kind: Deployment ... containers: - name: nginx image: nginx volumeMounts: - mountPath: /some/dir/in/container name: my-mounted-dir volumes: - name: my-mounted-dir persistentVolumeClaim: claimName: name-of-pvc Блок volumeMounts отвечает за монтирование директории внутри контейнера как ты ее обзовешь твои дела, далее тебе нужно будет залинковать этот маунт с твоим PVC это ты делаешь в блоке volumes передавая имя твоего маунта и говоришь ему использовать нужный PVC передавая имя твоего PVC
Обсуждают сегодня