4.3.5. 块卷支持
块卷支持是一个技术预览功能,它仅适用于手动置备的 PV。
技术预览功能不包括在红帽生产服务级别协议(SLA)中,且其功能可能并不完善。因此,红帽不建议在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的更多信息,请参阅 https://access.redhat.com/support/offerings/techpreview/。
您可以通过在 PV 和 PVC 规格中包含 API 字段来静态置备原始块卷。
要使用块卷,您必须首先启用 BlockVolume
功能门。要为 master 启用功能门,请将 feature-gates
添加到 apiServerArguments
和 controllerArguments
中。要为节点启用功能门,在 kubeletArguments
中添加 功能门
。例如:
kubeletArguments: feature-gates: - BlockVolume=true
PV 示例
apiVersion: v1
kind: PersistentVolume
metadata:
name: block-pv
spec:
capacity:
storage: 10Gi
accessModes:
- ReadWriteOnce
volumeMode: Block 1
persistentVolumeReclaimPolicy: Retain
fc:
targetWWNs: ["50060e801049cfd1"]
lun: 0
readOnly: false
- 1
volumeMode
项代表这个 PV 是原始块卷。
PVC 示例
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: block-pvc
spec:
accessModes:
- ReadWriteOnce
volumeMode: Block 1
resources:
requests:
storage: 10Gi
- 1
volumeMode
项代表请求了一个原始块持久性卷。
pod 规格示例
apiVersion: v1 kind: Pod metadata: name: pod-with-block-volume spec: containers: - name: fc-container image: fedora:26 command: ["/bin/sh", "-c"] args: [ "tail -f /dev/null" ] volumeDevices: 1 - name: data devicePath: /dev/xvda 2 volumes: - name: data persistentVolumeClaim: claimName: block-pvc 3
值 | 默认 |
---|---|
Filesystem | 是 |
Block | 否 |
PV VolumeMode | PVC VolumeMode | 绑定结果 |
---|---|---|
Filesystem | Filesystem | 绑定 |
Unspecified | Unspecified | 绑定 |
Filesystem | Unspecified | 绑定 |
Unspecified | Filesystem | 绑定 |
Block | Block | 绑定 |
Unspecified | Block | 无绑定 |
Block | Unspecified | 无绑定 |
Filesystem | Block | 无绑定 |
Block | Filesystem | 无绑定 |
未指定值时将使用默认值 Filesystem。