K8s не монтирует файлы на постоянном томе

У меня есть образ Docker, и я хотел бы поделиться всем каталогом на томе (постоянный том) в Kubernetes.

Dockerfile

FROM node:carbon
WORKDIR /node-test
COPY hello.md /node-test/hello.md
VOLUME /node-test
CMD ["tail", "-f", "/dev/null"]

По сути, он копирует файл hello.md и делает его частью изображения (назовем его my-image).

В конфигурации развертывания Kubernetes я создаю контейнер из my-image и делюсь определенным каталогом с томом.

Развертывание Kubernetes

# ...
 spec:
    containers:
    - image: my-user/my-image:v0.0.1
      name: node
      volumeMounts:
      - name: node-volume
        mountPath: /node-test
    volumes:
    - name: node-volume
      persistentVolumeClaim:
        claimName: node-volume-claim

Я ожидал увидеть файл hello.md в каталоге постоянного тома, но ничего не отображается.

Если я не привяжу контейнер к тому, я могу увидеть файл hello.mdkubectl exec -it my-container bash).

Я не делаю ничего другого, чем этот официальный пример Kubernetes. делает. На самом деле я могу изменить mountPath и переключиться на официальный образ Wordpress, и он работает, как ожидалось.

Как можно образ Wordpress скопировать все файлы в каталог тома?

Что в Dockerfile Wordpress отсутствует у меня?


person a.barbieri    schedule 26.02.2019    source источник
comment
Привет, вам нужно использовать subPATH, чтобы сохранить содержимое в каталоге kubernetes .io / документы / концепции / хранилище / тома / # using-subpath   -  person Suresh Vishnoi    schedule 27.02.2019
comment
`` volumeMounts: - name: node-volume mountPath: / node-test subPath: node-test ''   -  person Suresh Vishnoi    schedule 27.02.2019


Ответы (1)


Чтобы не перезаписывать существующие файлы / контент, вы можете использовать подкаталог для монтирования каталога testdir (в примере ниже) в существующей файловой системе контейнера.

 volumeMounts:
  - name: node-volume
    mountPath: /node-test/testdir
    subPath: testdir
volumes:
- name: node-volume
  persistentVolumeClaim:
    claimName: node-volume-claim

дополнительную информацию можно найти здесь using-subpath

person Suresh Vishnoi    schedule 27.02.2019
comment
Он действительно копирует каталог, но я не могу найти в нем файлы. :-( - person a.barbieri; 11.03.2019
comment
диаграмма стабильной версии Helm / wordpress делает именно то, что вы сказали, поэтому он должен быть правильным. Я сделаю еще несколько исследований - person a.barbieri; 11.03.2019