pod是否共享文件系统,类似于它们共享相同网络命名空间的方式?

时间:2017-06-09 10:54:48

标签: kubernetes kubectl

我创建了一个包含两个容器的pod。我知道pod中的不同容器共享相同的网络命名空间(即相同的IP和端口空间),并且还可以通过配置映射在它们之间共享存储卷。我的问题是pods也共享相同的文件系统。例如,在我的情况下,我有一个容器'C1',它在/var/targets.yml中每10分钟生成一个动态文件,我希望另一个容器'C2'读取该文件并执行自己的独立操作。

有没有办法做到这一点,可能是通过配置映射的一些解决方法?或者我必须通过网络访问这些文件,因为每个容器都有自己的IP(但在POD重启时这可能不是一个好主意)。有什么建议或参考吗?

1 个答案:

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

但请注意,在容器重新创建过程中数据不会持久存在。