3.5. Prise en charge des volumes de blocs
OpenShift Container Platform peut provisionner statiquement des volumes de blocs bruts. Ces volumes n'ont pas de système de fichiers et peuvent offrir des avantages en termes de performances pour les applications qui écrivent directement sur le disque ou qui mettent en œuvre leur propre service de stockage.
Les volumes de blocs bruts sont provisionnés en spécifiant volumeMode: Block
dans les spécifications PV et PVC.
Les pods utilisant des volumes de blocs bruts doivent être configurés pour autoriser les conteneurs privilégiés.
Le tableau suivant indique quels plugins de volume prennent en charge les volumes de blocs.
Plugin de volume | Approvisionnement manuel | Approvisionnement dynamique | Entièrement pris en charge |
---|---|---|---|
Disque AliCloud | ✅ | ✅ | ✅ |
AWS EBS | ✅ | ✅ | ✅ |
AWS EFS | |||
Disque Azure | ✅ | ✅ | ✅ |
Fichier Azure | |||
Cendres | ✅ | ✅ | ✅ |
Fibre Channel | ✅ | ✅ | |
PCG | ✅ | ✅ | ✅ |
Chemin d'accès | |||
Disque IBM VPC | ✅ | ✅ | ✅ |
iSCSI | ✅ | ✅ | |
Volume local | ✅ | ✅ | |
NFS | |||
Red Hat OpenShift Data Foundation | ✅ | ✅ | ✅ |
VMware vSphere | ✅ | ✅ | ✅ |
L'utilisation de l'un des volumes de blocs qui peuvent être provisionnés manuellement, mais qui ne sont pas fournis comme étant entièrement pris en charge, est une fonctionnalité d'aperçu technologique uniquement. Les fonctionnalités de l'aperçu technologique ne sont pas prises en charge par les accords de niveau de service (SLA) de production de Red Hat et peuvent ne pas être complètes sur le plan fonctionnel. Red Hat ne recommande pas leur utilisation en production. Ces fonctionnalités offrent un accès anticipé aux fonctionnalités des produits à venir, ce qui permet aux clients de tester les fonctionnalités et de fournir un retour d'information pendant le processus de développement.
Pour plus d'informations sur la portée de l'assistance des fonctionnalités de l'aperçu technologique de Red Hat, voir Portée de l'assistance des fonctionnalités de l'aperçu technologique.
3.5.1. Exemples de volumes de blocs
Exemple de 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
doit être fixé àBlock
pour indiquer que ce PV est un volume de blocs bruts.
Exemple de PVC
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: block-pvc
spec:
accessModes:
- ReadWriteOnce
volumeMode: Block 1
resources:
requests:
storage: 10Gi
- 1
volumeMode
doit être fixé àBlock
pour indiquer qu'un PVC de bloc brut est demandé.
Pod
exemple de spécification
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
- 1
volumeDevices
au lieu devolumeMounts
, est utilisé pour les périphériques en bloc. Seules les sourcesPersistentVolumeClaim
peuvent être utilisées avec des volumes de blocs bruts.- 2
devicePath
au lieu demountPath
, représente le chemin vers le dispositif physique où le bloc brut est mappé dans le système.- 3
- La source du volume doit être de type
persistentVolumeClaim
et doit correspondre au nom du PVC comme prévu.
Valeur | Défaut |
---|---|
Système de fichiers | Oui |
Bloc | Non |
PV volumeMode | PVC volumeMode | Résultat de la liaison |
---|---|---|
Système de fichiers | Système de fichiers | Relier |
Non spécifié | Non spécifié | Relier |
Système de fichiers | Non spécifié | Relier |
Non spécifié | Système de fichiers | Relier |
Bloc | Bloc | Relier |
Non spécifié | Bloc | Pas de lien |
Bloc | Non spécifié | Pas de lien |
Système de fichiers | Bloc | Pas de lien |
Bloc | Système de fichiers | Pas de lien |
Les valeurs non spécifiées entraînent la valeur par défaut de Filesystem
.