我的pod有两个容器 - 一个主容器和一个sidecar容器,用于监视主容器中的/var/run/utmp
文件,并在更改时采取操作。我试图弄清楚如何在边车容器中看到这个文件。
This page描述了如何使用emptyDir
卷在pod中的容器之间共享目录。但是,这似乎只适用于目录,而不是单个文件。我也无法使用此策略来共享主容器中的整个/var/run/
目录,因为在那里安装卷会擦除容器需要运行的目录内容。
我尝试通过在另一个目录中创建utmp
的符号链接并安装该目录来解决此问题,但它看起来不像卷中的符号链接以它们需要的方式解析这个工作。
有什么办法可以让容器中的一个文件对同一个pod中的其他容器可见?我试验的清单看起来像这样:
apiVersion: v1
kind: Pod
metadata:
name: utmp-demo
spec:
restartPolicy: Never
containers:
- name: main
image: debian
command: ["/bin/bash"]
args: ["-c", "sleep infinity"]
volumeMounts:
- name: main-run
mountPath: /var/run # or /var/run/utmp, which crashes
- name: helper
image: debian
command: ["/bin/bash"]
args: ["-c", "sleep infinity"]
volumeMounts:
- name: main-run
mountPath: /tmp/main-run
volumes:
- name: main-run
emptyDir: {}
答案 0 :(得分:1)
如果您可以将文件移动到空子文件夹中共享,这可能是一个简单的解决方案。
例如,将文件移动到/ var / run / utmp / utmp并使用emptydir共享/ var / run / utmp文件夹。