Kubernetes 如何使用连接到主机的块设备作为pod内的块设备

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

问题:如何将连接到pod内主机的原始设备用作块设备

我尝试使用类型为“BlockDevice”的“hostPath”

此配置给我以下错误

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将在路径
    /dev/xvda
    处的pod内安装主机设备
    /dev/xvdf
允许用户和管理员对要安装在POD中的原始块设备使用PVs和PVC。下面的摘录展示了一个小用例

  • 创建引用主机上原始设备的PV,例如
    /dev/xvdf
  • 为应用程序创建块设备
  • 使用上述声明创建pod,该pod将在路径
    /dev/xvda
    处的pod内安装主机设备
    /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