「Kubernetes」- 容器交换数据

  CREATED BY JENKINSBOT

问题描述

某些时候,我们需要两个容器能够交换数据(简单交换)

解决方案

如果一个Pod上运行了两个或多个容器,如果要交换数据,可以使用emptyDir类型的本地数据卷。

以下的两个容器挂载了同一个本地卷:

kind: Pod
apiVersion: v1
metadata:
  name: sahrevol
spec:
  containers:
  - name: c1
    image: centos:7
    command:
      - "sh"
      - "-c"
      - "whatever"
    volumeMount:
      - name: xchange
        mountPath: /tmp/xchange
  - name: c2
    image: centos:7
    command:
      - "sh"
      - "-c"
      - "whatever"
    volumeMount:
      - name: xchange
        mountPath: /tmp/data
  volumns:
  - name: xchange
    emptyDir: {}

创建容器后,可以到容器中查看挂载点。

注意,如果节点关闭,或者节点进行维护,那本地数据会丢失。

大多数时候还是使用网络卷。