【问题标题】:Shared volume of 1 container into another container in Kubernates一个容器的共享卷到 Kubernetes 中的另一个容器中
【发布时间】:2018-11-22 07:51:48
【问题描述】:

我被困在一个场景中,我必须将容器 1 的日志文件夹放入第二个容器。我找到了一个解决方案,我们将在其中创建一个 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/ 共享到 /var/log/message 中。这是因为 splunkUF 映像将监视 /var/log/app/。所以我想共享不同应用程序的日志文件夹,无论是 /var/log/app/tomcat 还是 /var/log/messages,但与 splunk 容器 /var/log/app/ 位于同一位置。

我可以运行复制命令来获取日志 1 次,但是如何连续获取日志?

【问题讨论】:

  • 您使用的是哪个版本的 kubernetes?
  • 我使用的是最新的,但它有什么不同吗?以便我记录版本以供参考
  • emptyDir 不好,因为一旦重新分配 pod 就会被删除。另外,您使用的是Volumes 还是PersistentVolumes?我要求提供一个版本,因为测试版中有一些东西可能会对您有所帮助,但这并不容易。示例:kubernetes.io/docs/concepts/storage/volumes/#mount-propagation
  • @UroshT。我没有使用测试版。那么除了测试版中的那个,我最好的选择是什么?
  • @gamechanger17,您是否考虑过通过rsyslog 设置远程日志记录并在/var/log/messages 中捕获日志,如here 所述? Tomcat也有解决方案。

标签: kubernetes splunk


【解决方案1】:

我认为这里没有问题。 您可以在每个容器的不同位置挂载相同的卷。

根据你的描述应该是这样的:

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: {}

【讨论】:

  • 是的,这就是问题所在。但如果我进入 uf 容器,我看不到 /var/log/app/ 位置中的日志。
  • 你确实在 /usr/var/log/tomcat/ 的 tomcat 中看到了它们?
  • 现在我可以看到共享卷上的日志,但 Splunkuf 没有将日志转发到服务器。我创建了一个新线程:stackoverflow.com/questions/53669208/…
【解决方案2】:

如果您使用的是PersistentVolumeClaimPersistentVolume,我会收到一个坏消息,因为访问模式非常有限。您想要的是ReadWriteMany,但它的支持 ATM 非常有限。查看更多信息here

您可以使用this,但是它具有必须共享节点主机的限制,这可能不是理想的行为。我相信最适合您的情况是this

【讨论】:

    猜你喜欢
    • 2019-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-13
    • 2018-09-11
    • 2023-01-24
    相关资源
    最近更新 更多