我创建了一个包含两个容器的pod。我知道pod中的不同容器共享相同的网络命名空间(即相同的IP和端口空间),并且还可以通过配置映射在它们之间共享存储卷。我的问题是pods也共享相同的文件系统。例如,在我的情况下,我有一个容器'C1',它在/var/targets.yml中每10分钟生成一个动态文件,我希望另一个容器'C2'读取该文件并执行自己的独立操作。
有没有办法做到这一点,可能是通过配置映射的一些解决方法?或者我必须通过网络访问这些文件,因为每个容器都有自己的IP(但在POD重启时这可能不是一个好主意)。有什么建议或参考吗?
答案 0 :(得分:1)
您可以使用emptyDir:
apiVersion: v1
kind: Pod
metadata:
name: test-pd
spec:
containers:
- image: gcr.io/google_containers/test-webserver
name: generating-container
volumeMounts:
- mountPath: /cache
name: cache-volume
- image: gcr.io/google_containers/test-webserver
name: consuming-container
volumeMounts:
- mountPath: /cache
name: cache-volume
volumes:
- name: cache-volume
emptyDir: {}
但请注意,在容器重新创建过程中数据不会持久存在。