在Kubernetes中,可以通过指定volume来挂载数据卷。
volume可以是emptyDir、hostPath、configMap、secret等类型,其中hostPath可以将主机上的一个目录挂载到容器中。
记一次使用hostPath挂载数据卷的例子:
创建一个数据卷:
apiVersion: v1
kind: PersistentVolume
metadata:
name: my-hostpath
spec:
capacity:
storage: 10Gi
accessModes:
- ReadWriteOnce
hostPath:
path: /data/my-hostpath
在pod中指定挂载
apiVersion: v1
kind: Pod
metadata:
name: my-pod
spec:
containers:
- name: my-container
image: my-image
volumeMounts:
- name: my-hostpath
mountPath: /data/my-hostpath
volumes:
- name: my-hostpath
persistentVolumeClaim:
claimName: my-hostpath
创建了一个名为my-hostpath的数据卷,并将其挂载到了pod中的my-container容器中的/data/my-hostpath目录。
同时,还指定了一个persistentVolumeClaim,它用来申请my-hostpath这个数据卷。
在实际使用中,需要先创建一个persistentVolumeClaim,然后再将它挂载到pod中。
在pod中使用hostPath来挂载数据卷
apiVersion: v1
kind: Pod
metadata:
name: my-pod
spec:
containers:
- name: my-container
image: my-image
volumeMounts:
- name: my-hostpath
mountPath: /data/my-hostpath
volumes:
- name: my-hostpath
hostPath:
path: /data/my-hostpath
直接在pod中指定了hostPath,而不是使用persistentVolumeClaim来申请数据卷.