在docker-compose中创建了几个命名卷。如何在Kubernetes中创建它们?

如何将docker-compose中定义的以下named volume示例转换为kubernetes格式

version: "3"
services:
  x:
    image: z
    volumes:
      - a:/path/inside/container
  y:
    image: c
    volumes:
      - a:/path/inside/container
volumes:
  a:


#1 楼

k8具有关于卷及其类型的文档页面https://kubernetes.io/docs/concepts/storage/volumes/

所以简而言之,您需要定义spec.volumesspec.containers[].volumeMounts,如: br />
apiVersion: v1
kind: Pod
metadata:
  name: test-pd
spec:
  containers:
  - image: gcr.io/google_containers/test-webserver
    name: test-container
    volumeMounts:
    - mountPath: /cache
      name: cache-volume
  volumes:
  - name: cache-volume
    emptyDir: {}


评论


是否为emptyDir:{},如果必须将一个容器中的内容与另一个容器共享?

– 030
17年8月21日在15:37

emptyDir是容器类型之一。如链接文档中所述:“将Pod分配给节点时,首先创建emptyDir卷,并且只要该Pod在该节点上运行,该卷便存在。”因此,这是分配给跑步者的简单存储目录。这可以用于共享数据,但是应将此数据视为临时数据。

– Hauleth
17年8月21日在15:42

我尝试从容器y​​中的容器x共享目录

– 030
17年8月21日在15:48



@ 030一切取决于要共享的数据以及该容器是否在同一节点上运行。

– Hauleth
17年8月21日在16:03