3.5. 块卷支持
Red Hat OpenShift Service on AWS 可以静态置备原始块卷。这些卷没有文件系统。对于可以直接写入磁盘或者实现其自己的存储服务的应用程序来说,使用它可以获得性能优势。
原始块卷可以通过在 PV 和 PVC 规格中指定 volumeMode: Block来置备。
使用原始块卷的 pod 需要配置为允许特权容器。
下表显示了哪些卷插件支持块卷。
表 3.4. 块卷支持
| 卷插件 | 手动置备 | 动态置备 | 完全支持 |
|---|---|---|---|
| AliCloud Disk | ✅ | ✅ | ✅ |
| Amazon Elastic Block Store (Amazon EBS) | ✅ | ✅ | ✅ |
| Amazon Elastic File Storage (Amazon EFS) |
3.5.1. 块卷示例
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设置为Block来代表这个 PV 是一个原始块卷。
PVC 示例
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: block-pvc
spec:
accessModes:
- ReadWriteOnce
volumeMode: Block 1
resources:
requests:
storage: 10Gi
- 1
- 需要把
volumeMode设置为Block来代表请求一个原始块 PVC。
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
表 3.5. volumeMode 接受的值
| 值 | 默认 |
|---|---|
| Filesystem | 是 |
| Block | 否 |
表 3.6. 块卷的绑定方案
PV volumeMode | PVC volumeMode | 绑定结果 |
|---|---|---|
| Filesystem | Filesystem | 绑定 |
| Unspecified | Unspecified | 绑定 |
| Filesystem | Unspecified | 绑定 |
| Unspecified | Filesystem | 绑定 |
| Block | Block | 绑定 |
| Unspecified | Block | 无绑定 |
| Block | Unspecified | 无绑定 |
| Filesystem | Block | 无绑定 |
| Block | Filesystem | 无绑定 |
未指定值时将使用默认值 Filesystem。