У меня проблема с подключением совместного использования одного тома с тремя контейнерами в пакете, и я хотел бы знать, как ее решить.
У меня есть набор демонов с 3 контейнерами в пакете:
- s3fs: этот контейнер монтирует корзину s3 как fs в пустом томе
- myapp: этот контейнер должен монтировать подпуть тома "/ books" в "/ books"
- myapp2: Этот контейнер должен монтировать подпуть тома "/ books / name1" в "/ name1" и подпуть тома "/ books / name2" в "/name2".
Я думаю, что проблема можетбыть в том, как я управляю подпутями в myapp1 и myapp2.
Это yaml из набора демонов:
volumes:
- name: myapp-data
emptyDir: {}
containers:
- name: s3fs
volumeMounts:
- name: myapp-data
mountPath: "/data/s3"
mountPropagation: Bidirectional
securityContext:
capabilities:
add:
- SYS_ADMIN
privileged: true
- name: myapp1
volumeMounts:
- name: myapp-data
mountPath: "/books"
subPath: "/books"
mountPropagation: HostToContainer
securityContext:
capabilities:
add:
- SYS_ADMIN
privileged: true
- name: myapp2
volumeMounts:
- name: myapp-data
mountPath: "/name1"
subPath: books/name1
mountPropagation: HostToContainer
- name: myapp-data
mountPath: "/name2"
subPath: books/name2
mountPropagation: HostToContainer
securityContext:
capabilities:
add:
- SYS_ADMIN
privileged: true
С этим yaml, совместное использование работает только с myapp1, но не с myapp2,Однако, если я удалю myapp1 из yaml, myapp2 правильно поделится томом.
Любая помощь приветствуется. Спасибо,