apiVersion: v1
kind: PersistentVolume
metadata:
name: pv0001
spec:
capacity:
storage: 1Gi
accessModes:
- ReadWriteOnce
fc:
targetWWNs: ['500a0981891b8dc5', '500a0981991b8dc5'] (1)
lun: 2
fsType: ext4
You can provision your OKD cluster with persistent storage using Fibre Channel. Some familiarity with Kubernetes and Fibre Channel is assumed.
The Kubernetes persistent volume framework allows administrators to provision a cluster with persistent storage and gives users a way to request those resources without having any knowledge of the underlying infrastructure.
High-availability of storage in the infrastructure is left to the underlying storage provider. |
Storage must exist in the underlying infrastructure before it can be mounted as
a volume in OKD. All that is required for Fibre Channel persistent
storage is the targetWWNs (array of Fibre Channel target’s World Wide
Names), a valid LUN number, filesystem type, and the PersistentVolume
API. Persistent volume and a LUN have one-to-one mapping between them.
Fibre Channel does not support the 'Recycle' reclaim policy. |
apiVersion: v1
kind: PersistentVolume
metadata:
name: pv0001
spec:
capacity:
storage: 1Gi
accessModes:
- ReadWriteOnce
fc:
targetWWNs: ['500a0981891b8dc5', '500a0981991b8dc5'] (1)
lun: 2
fsType: ext4
1 | Fibre Channel WWNs are identified as /dev/disk/by-path/pci-<IDENTIFIER>-fc-0x<WWN>-lun-<LUN#> , but you do not need to provide any part of the path leading up to the WWN , including the 0x , and anything after, including the - (hyphen). |
Changing the value of the |
Use LUN partitions to enforce disk quotas and size constraints. Each LUN is one persistent volume. Kubernetes enforces unique names for persistent volumes.
Enforcing quotas in this way allows the end user to request persistent storage by a specific amount (e.g, 10Gi) and be matched with a corresponding volume of equal or greater capacity.
Users request storage with a PersistentVolumeClaim
. This claim only lives in
the user’s namespace and can only be referenced by a pod within that same
namespace. Any attempt to access a persistent volume across a namespace causes
the pod to fail.
Each Fibre Channel LUN must be accessible by all nodes in the cluster.