Разделите объем s3fs в Kubernetes с двумя контейнерами в модуле с одним и тем же подпути - PullRequest
0 голосов
/ 11 ноября 2019

У меня проблема с подключением совместного использования одного тома с тремя контейнерами в пакете, и я хотел бы знать, как ее решить.

У меня есть набор демонов с 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 правильно поделится томом.

Любая помощь приветствуется. Спасибо,

...