Docker 卷挂载到 kubernetes 卷
Docker volume mount to kubernetes volume
我正在尝试在 Kubernetes 上安装卷。
目前我有一张 Docker 我 运行 喜欢的图片:
docker run --mount type=bind,source="$(pwd)"<host_dir>,target=<docker_dir> container
要在 Google Kubernetes 集群上安装这个 运行,我有:
- 创建 Google 计算磁盘
- 创建了一个引用磁盘的持久卷:
kind: PersistentVolume
...
namespace: default
name: pvc
spec:
claimRef:
namespace: default
name: pvc
gcePersistentDisk:
pdName: disk-name
fsType: ext4
---
...
kind: PersistentVolumeClaim
metadata:
name: pvc
spec:
storageClassName: "storage"
...
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 2000Gi
- 已创建带挂载的 pod
kind: Pod
apiVersion: v1
metadata:
name: k8s-pod
spec:
volumes:
- name: pvc
persistentVolumeClaim:
claimName: pvc
containers:
- name: image_name
image: eu.gcr.io/container:latest
volumeMounts:
- mountPath: <docker_dir>
name: dir
我错过了主机和 container/pod 目录之间绑定的位置。另外,我在哪里提到我的 yaml 文件中的绑定。
我将不胜感激:)
你走在正确的道路上。在您的 Pod 规范中,volumeMount 的名称应该与卷的名称相匹配。所以在你的情况下,
volumes:
- name: pvc
persistentVolumeClaim:
claimName: pvc
卷名是 pvc
。所以你的 volumeMount 应该是
volumeMounts:
- mountPath: "/path/in/container"
name: pvc
因此,例如,要在您的容器中将此卷安装在 /mydata
,您的 Pod 规格将如下所示
kind: Pod
apiVersion: v1
metadata:
name: k8s-pod
spec:
volumes:
- name: pvc
persistentVolumeClaim:
claimName: pvc
containers:
- name: image_name
image: eu.gcr.io/container:latest
volumeMounts:
- mountPath: "/mydata"
name: pvc
我正在尝试在 Kubernetes 上安装卷。
目前我有一张 Docker 我 运行 喜欢的图片:
docker run --mount type=bind,source="$(pwd)"<host_dir>,target=<docker_dir> container
要在 Google Kubernetes 集群上安装这个 运行,我有:
- 创建 Google 计算磁盘
- 创建了一个引用磁盘的持久卷:
kind: PersistentVolume
...
namespace: default
name: pvc
spec:
claimRef:
namespace: default
name: pvc
gcePersistentDisk:
pdName: disk-name
fsType: ext4
---
...
kind: PersistentVolumeClaim
metadata:
name: pvc
spec:
storageClassName: "storage"
...
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 2000Gi
- 已创建带挂载的 pod
kind: Pod
apiVersion: v1
metadata:
name: k8s-pod
spec:
volumes:
- name: pvc
persistentVolumeClaim:
claimName: pvc
containers:
- name: image_name
image: eu.gcr.io/container:latest
volumeMounts:
- mountPath: <docker_dir>
name: dir
我错过了主机和 container/pod 目录之间绑定的位置。另外,我在哪里提到我的 yaml 文件中的绑定。
我将不胜感激:)
你走在正确的道路上。在您的 Pod 规范中,volumeMount 的名称应该与卷的名称相匹配。所以在你的情况下,
volumes:
- name: pvc
persistentVolumeClaim:
claimName: pvc
卷名是 pvc
。所以你的 volumeMount 应该是
volumeMounts:
- mountPath: "/path/in/container"
name: pvc
因此,例如,要在您的容器中将此卷安装在 /mydata
,您的 Pod 规格将如下所示
kind: Pod
apiVersion: v1
metadata:
name: k8s-pod
spec:
volumes:
- name: pvc
persistentVolumeClaim:
claimName: pvc
containers:
- name: image_name
image: eu.gcr.io/container:latest
volumeMounts:
- mountPath: "/mydata"
name: pvc