Общий объем 1 контейнера в другой контейнер в Kubernates - PullRequest
0 голосов
/ 22 ноября 2018

Я застрял в сценарии, где я должен получить папку журнала контейнера 1 во 2-й контейнер.Я нашел решение, в котором мы создадим директорию emptyDir.

spec:
  containers:
  - name: app
    image: app-image
    imagePullPolicy: Always
    ports:
    - containerPort: 8080
    volumeMounts:
    - name: logs
      mountPath: /var/log/app/
  - name: uf
    image: splunk/splunkuniversalforwarder
    ...
    volumeMounts:
    - name: logs
      mountPath: /var/log/app/
  volumes:
  - name: logs
    emptyDir: {}

Но в моей ситуации я хочу поделиться / usr / var / log / tomcat / 1-го контейнера в / var / log / message,Это связано с тем, что изображение splunkUF будет контролировать / var / log / app /.поэтому я хочу открыть общий доступ к папке журналов различных приложений, будь то / var / log / app / tomcat или / var / log / messages, но в одном и том же месте с разделенным контейнером /var/log/app/.

Я могу запустить команду копирования, чтобы получить журнал 1 раз, но как получать журналы непрерывно?

Ответы [ 2 ]

0 голосов
/ 22 ноября 2018

Я не вижу здесь проблемы.Вы можете установить один и тот же том в другое место в каждом контейнере.

Согласно вашему описанию это должно быть примерно так:

spec:
  containers:
  - name: app
    image: app-image
    ...
    volumeMounts:
    - name: logs
      mountPath: /usr/var/log/tomcat/
  - name: uf
    image: splunk/splunkuniversalforwarder
    ...
    volumeMounts:
    - name: logs
      mountPath: /var/log/app/
  volumes:
  - name: logs
    emptyDir: {}
0 голосов
/ 22 ноября 2018

Если вы используете PersistentVolumeClaim или PersistentVolume, у меня плохие новости, потому что режимы доступа довольно ограничены.Тот, который вам нужен, это ReadWriteMany, но у него очень ограниченный банкомат поддержки.См. Дополнительную информацию здесь .

Вы можете сделать с this , однако он имеет ограничения, связанные с общим хостом узла, что не может быть желательным поведением.Я считаю, что то, что лучше всего подойдет для вашего случая, будет это .

...