Я определяю свое первое развертывание Kubernetes и хотел бы определить контейнер, который монтирует постоянное хранилище в двух точках, скажем так (в Deployment.yaml
внутри spec.template.spec.containers.-
):
volumeMounts:
- name: volume1
mountPath: /var/log/app
- name: volume2
mountPath: /var/lib/app
Я понимаю из Kubernetes ' Пример стека MEAN что я смогу создать два соответствующих диска GCE, скажем так:
gcloud compute disks create --size 10GB volume1
gcloud compute disks create --size 10GB volume2
В настоящее время я рассматриваю два диска вместо одного только потому, что мне нужно монтировать по двум разным путям. Может ли служба Kubernetes монтировать разные «части» (возможно, разделы) одного тома / диска по разным путям?
В Технические характеристики из v1.VolumeMount
предполагает, что это может быть невозможно на уровне спецификации сервиса, потому что он поддерживает только поля name
, readOnly
, и mountPath
.
Эти ответы предполагают, что это возможно на уровне разделов EXT4, но для этого потребуется, чтобы том был доступен только для чтения. Как я могу создать диск GCE с разделами даже в случае, если он доступен только для чтения (который не соответствует моим требованиям)?
(перенесено из Переполнение стека)
Постоянный том Kubernetes (или постоянный диск GCE, что примерно одно и то же) можно подключить только к одной точке в структуре каталогов вашего модуля. Но после монтирования вы, безусловно, можете создать привязку или символические ссылки для организации файлов по своему усмотрению. Вы также можете изменить конфигурацию своих приложений для чтения и записи в подкаталог того места, где вы смонтировали постоянный том, но это потребует больше работы.
Я решил использовать (символические ссылки на) несколько подкаталогов внутри PD с одним разделом. Это также предлагается Вот (Kubernetes # 20835).