Kubernetes 如何使用连接到主机的块设备作为pod内的块设备
问题:如何将连接到pod内主机的原始设备用作块设备 我尝试使用类型为“BlockDevice”的“hostPath” 此配置给我以下错误Kubernetes 如何使用连接到主机的块设备作为pod内的块设备,kubernetes,Kubernetes,问题:如何将连接到pod内主机的原始设备用作块设备 我尝试使用类型为“BlockDevice”的“hostPath” 此配置给我以下错误 Invalid value: "my-data": can only use volume source type of PersistentVolumeClaim for block mode 我可以使用PersistentVolume和PersistentVolumeClaim实现这一点吗?有人能帮我举一个配置示例吗。感谢您的帮助。允许用户和管理员使用P
Invalid value: "my-data": can only use volume source type of PersistentVolumeClaim for block mode
我可以使用PersistentVolume
和PersistentVolumeClaim
实现这一点吗?有人能帮我举一个配置示例吗。感谢您的帮助。允许用户和管理员使用PVs和PVC将原始块设备安装在POD中。下面的摘录展示了一个小用例
- 创建引用主机上原始设备的PV,例如
/dev/xvdf
- 为应用程序创建块设备
- 使用上述声明创建pod,该pod将在路径
处的pod内安装主机设备/dev/xvda
/dev/xvdf
- 创建引用主机上原始设备的PV,例如
/dev/xvdf
- 为应用程序创建块设备
- 使用上述声明创建pod,该pod将在路径
处的pod内安装主机设备/dev/xvda
/dev/xvdf
containers:
.....
volumeDevices:
- name: my-data
devicePath: /dev/sda
Invalid value: "my-data": can only use volume source type of PersistentVolumeClaim for block mode
kind: PersistentVolume
apiVersion: v1
metadata:
name: local-raw-pv
spec:
volumeMode: Block
capacity:
storage: 100Gi
local:
path: /dev/xvdf
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Delete
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: block-pvc
spec:
accessModes:
- ReadWriteOnce
volumeMode: Block
resources:
requests:
storage: 10Gi
apiVersion: v1
kind: Pod
metadata:
name: pod-with-block-volume
spec:
containers:
- name: some-container
image: ubuntu
command: ["/bin/sh", "-c"]
args: [ "tail -f /dev/null" ]
volumeDevices:
- name: data
devicePath: /dev/xvda
volumes:
- name: data
persistentVolumeClaim:
claimName: block-pvc