当您使用rook- ceph 为您的 k8s 集群提供存储时,您不会直接通过 ceph 客户端(例如 librbd)使用 ceph 接口,但 rook 会为您运行这些客户端并使存储可用于您的容器,以便容器化的应用程序不必关心 ceph。
因此,例如,如果您的目标是在rook ceph 配置的块设备上运行fio基准测试(因此它将由ceph rbd支持),您需要确保已创建存储类,然后您可以:rook-ceph-block
通过PVC请求这样的原始块 PV,如下所示:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: block-storage
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 4Gi
storageClassName: rook-ceph-block
volumeMode: Block
然后在这样pvc/block-storage
的容器规范中引用它(这是一个粗略的例子,但希望你明白):
spec:
containers:
- command:
- /usr/bin/fio
- --blocksize=4k
- --ioengine=libaio
- --filename=/dev/target
image: fio:latest
name: fio
volumeDevices:
- devicePath: /dev/target
name: block-storage
restartPolicy: Never
volumes:
- name: block-storage
persistentVolumeClaim:
claimName: block-storage