Installation du module complémentaire de cluster IBM Cloud Object Storage
Vous pouvez activer le module complémentaire « IBM Cloud Object Storage » depuis la console IBM Cloud ou via l'interface de ligne de commande (CLI).
Prérequis :
- Le module complémentaire IBM Cloud Object Storage nécessite au moins 0.3 vCPU et 360 Mo de mémoire.
- Le module complémentaire est disponible pour les nœuds de travail Red Hat CoreOS (RHCOS) et Ubuntu. Si votre cluster comporte à la fois des nœuds RHEL et RHCOS, le module complémentaire n'est déployé que sur les nœuds RHCOS.
- Créez une instance IBM Cloud Object Storage.
- Facultatif Si vous prévoyez d'utiliser le versionnement des seaux, vos identifiants de service doivent disposer des autorisations Manager ou Writer pour activer ou désactiver le versionnement des seaux sur le seau. Pour plus d'informations, consultez la section « Premiers pas avec la gestion des versions ».
Comprendre la création et la suppression des seaux
- Vous pouvez utiliser un seau existant en spécifiant le nom du seau dans votre PVC.
- Si vous fournissez un nom de seau et que ce seau n'existe pas, un seau portant ce nom est créé.
- Si vous ne fournissez pas de nom de godet, un godet avec la convention de dénomination
temp-xxxest créé. - Les bacs sont supprimés en fonction de la politique de récupération définie dans votre classe de stockage.
- Si
reclaimPolicy: Deleteest défini, le seau est supprimé lorsque le PVC est supprimé. - Si
reclaimPolicy: Retainest défini, le seau est conservé même après la suppression du PVC.
- Si
Activation du module complémentaire « IBM Cloud Object Storage » depuis la console
- Dans le tableau de bord des clusters d' Red Hat OpenShift on IBM Cloud, sélectionnez le cluster sur lequel vous souhaitez activer le module complémentaire.
- Dans la section « Extensions », repérez l'Cloud Object Storage module complémentaire et cliquez sur « Installer ».
- Dans le panneau « Installer l'extension : Cloud Object Storage », sélectionnez une version dans le menu déroulant « Version ».
- Facultatif : configurez les paramètres suivants.
maxVolumesPerNode- Définissez le nombre maximal de volumes « IBM Cloud Object Storage » pouvant être montés sur un même nœud. La valeur par défaut est «
0», ce qui signifie qu'aucune limite n'est appliquée. restrictNodeServerScheduling- Définissez la valeur sur «
true» pour limiter l'exécution des pods du serveur de nœuds aux nœuds portant l'étiquette «cos.csi.ibm.io/csi-node=true». La valeur par défaut est «false», ce qui signifie que les pods « nodeserver » sont planifiés sur tous les nœuds.
- Cliquez sur Install. Le déploiement du module complémentaire peut durer plusieurs minutes, ce dernier est ensuite prêt à être utilisé.
- Vérification de l'installation. Dans la section « Modules complémentaires », vérifiez que le Cloud Object Storage module affiche un état de santé « Normal ».
Activation du module complémentaire IBM Cloud Object Storage à partir du CLI
Avant de commencer : accédez à votre cluster Red Hat OpenShift.
- Mettez à jour le plug-in «
container-service» vers la version la plus récente.ibmcloud update && ibmcloud plugin update container-service - Listez les modules complémentaires et trouvez la version que vous souhaitez installer.
ibmcloud oc cluster addon versions - Examinez les options du module complémentaire.
ibmcloud oc cluster addon options --addon ibm-object-csi-driver [--version VERSION] - Installer le module complémentaire.
ibmcloud oc cluster addon enable ibm-object-csi-driver --cluster CLUSTER [--version VERSION] - Vérification de l'installation.
ibmcloud oc cluster addon ls --cluster CLUSTEROK Name Version Health State Health Status ibm-object-csi-driver 1.0 normal Addon Ready. For more info: http://ibm.biz/addon-state (H1500) - Énumérez les classes de stockage disponibles. Le pilote prend en charge les classes de stockage régionales et interrégionales pour les montages «
s3fs» et «rclone».oc get sc | grep objectibm-object-storage-smart-cross-region-rclone cos.s3.csi.ibm.io Delete Immediate false 17h ibm-object-storage-smart-cross-region-rclone-retain cos.s3.csi.ibm.io Retain Immediate false 17h ibm-object-storage-smart-cross-region-s3fs cos.s3.csi.ibm.io Delete Immediate false 17h ibm-object-storage-smart-cross-region-s3fs-retain cos.s3.csi.ibm.io Retain Immediate false 17h ibm-object-storage-smart-rclone cos.s3.csi.ibm.io Delete Immediate false 17h ibm-object-storage-smart-rclone-retain cos.s3.csi.ibm.io Retain Immediate false 17h ibm-object-storage-smart-s3fs cos.s3.csi.ibm.io Delete Immediate false 17h ibm-object-storage-smart-s3fs-retain cos.s3.csi.ibm.io Retain Immediate false 17h ibm-object-storage-standard-cross-region-rclone cos.s3.csi.ibm.io Delete Immediate false 17h ibm-object-storage-standard-cross-region-rclone-retain cos.s3.csi.ibm.io Retain Immediate false 17h ibm-object-storage-standard-cross-region-s3fs cos.s3.csi.ibm.io Delete Immediate false 17h ibm-object-storage-standard-cross-region-s3fs-retain cos.s3.csi.ibm.io Retain Immediate false 17h ibm-object-storage-standard-rclone cos.s3.csi.ibm.io Delete Immediate false 17h ibm-object-storage-standard-rclone-retain cos.s3.csi.ibm.io Retain Immediate false 17h ibm-object-storage-standard-s3fs cos.s3.csi.ibm.io Delete Immediate false 17h ibm-object-storage-standard-s3fs-retain cos.s3.csi.ibm.io Retain Immediate false 17h
Restriction de la planification des pods « nodeserver »
Par défaut, les pods « nodeserver » du pilote COS CSI sont planifiés sur tous les nœuds du cluster. Vous pouvez utiliser le paramètre restrictNodeServerScheduling pour limiter la planification des pods du serveur
de nœuds aux seuls nœuds portant le libellé « cos.csi.ibm.io/csi-node=true ».
Vous pouvez configurer restrictNodeServerScheduling lors de l'activation du module complémentaire, ou le mettre à jour ultérieurement en appliquant un correctif à l' ConfigMap.
- Pour définir la variable d'
restrictNodeServerSchedulingation lors de l'activation du module complémentaire, incluez l'indicateur «--param» dans la commande d'activation.ibmcloud oc cluster addon enable ibm-object-csi-driver --cluster CLUSTER --param "restrictNodeServerScheduling=true" - Pour mettre à jour «
restrictNodeServerScheduling» une fois que l'extension est déjà activée, procédez comme suit.
- Répertoriez les nœuds de votre cluster et déterminez où vous souhaitez que les pods du pilote COS s'exécutent.
Exemple de sortieoc get nodesNAME STATUS ROLES AGE VERSION 10.241.0.11 Ready <none> 5d2h v1.35.5+IKS 10.241.0.12 Ready <none> 5d2h v1.35.5+IKS 10.241.0.13 Ready <none> 5d2h v1.35.5+IKS 10.241.128.10 Ready <none> 5d2h v1.35.5+IKS 10.241.128.11 Ready <none> 5d2h v1.35.5+IKS 10.241.128.9 Ready <none> 5d2h v1.35.5+IKS 10.241.65.12 Ready <none> 5d2h v1.35.5+IKS 10.241.65.13 Ready <none> 5d2h v1.35.5+IKS 10.241.65.14 Ready <none> 5d2h v1.35.5+IKS - Vérifiez que les pods « nodeserver » sont bien en cours d'exécution sur tous les nœuds.
Exemple de sortieoc get pods -n ibm-object-csi-operator -l app.kubernetes.io/component=node -o wideNAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES ibm-object-csi-node-2pj2j 3/3 Running 0 145m 172.17.14.10 10.241.0.12 <none> <none> ibm-object-csi-node-7bhwh 3/3 Running 0 145m 172.17.1.72 10.241.65.12 <none> <none> ibm-object-csi-node-7l9hc 3/3 Running 0 145m 172.17.17.6 10.241.128.9 <none> <none> ibm-object-csi-node-cxzt7 3/3 Running 0 145m 172.17.39.72 10.241.0.11 <none> <none> ibm-object-csi-node-dw6qs 3/3 Running 0 145m 172.17.46.77 10.241.128.10 <none> <none> ibm-object-csi-node-rpcvr 3/3 Running 0 145m 172.17.32.198 10.241.65.13 <none> <none> ibm-object-csi-node-swqtg 3/3 Running 0 145m 172.17.16.69 10.241.0.13 <none> <none> ibm-object-csi-node-sxbbs 3/3 Running 0 145m 172.17.26.7 10.241.65.14 <none> <none> ibm-object-csi-node-xm8bt 3/3 Running 0 145m 172.17.20.200 10.241.128.11 <none> <none> - Attribuez une étiquette aux nœuds sur lesquels vous souhaitez que les pods « nodeserver » soient planifiés.
Exemple de sortieoc label nodes NODE-NAME-1 NODE-NAME-2 cos.csi.ibm.io/csi-node=truenode/10.241.0.11 labeled node/10.241.0.12 labeled - Pour activer cette restriction, mettez à jour le fichier « ConfigMap ».
Exemple de sortieoc patch cm managed-addon-ibm-object-csi-driver -n kube-system \ --type merge -p '{"data":{"restrictNodeServerScheduling":"true"}}'configmap/managed-addon-ibm-object-csi-driver patched - Vérifiez que les pods « nodeserver » ne sont planifiés que sur des nœuds étiquetés.
Exemple de sortieoc get pods -n ibm-object-csi-operator -l app.kubernetes.io/component=node -o wideNAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES ibm-object-csi-node-cxzt7 3/3 Running 0 145m 172.17.39.72 10.241.0.11 <none> <none> ibm-object-csi-node-7bhwh 3/3 Running 0 145m 172.17.1.72 10.241.65.12 <none> <none>
| Paramètre | Comportement |
|---|---|
restrictNodeServerScheduling: "false" (par défaut) |
Les pods « nodeserver » sont planifiés sur tous les nœuds. |
restrictNodeServerScheduling: "true" |
Les pods « nodeserver » sont planifiés uniquement sur les nœuds portant l'étiquette « cos.csi.ibm.io/csi-node=true ». |
Définition du nombre maximal de volumes par nœud
Par défaut, le pilote COS CSI ne limite pas le nombre de volumes pouvant être montés sur un même nœud. Vous pouvez utiliser le paramètre « maxVolumesPerNode » pour définir le nombre maximal de volumes par nœud.
Vous pouvez configurer maxVolumesPerNode lors de l'activation du module complémentaire, ou le mettre à jour ultérieurement en appliquant un correctif à l' ConfigMap.
- Pour définir la variable d'
maxVolumesPerNodeation lors de l'activation du module complémentaire, incluez l'indicateur «--param» dans la commande d'activation.ibmcloud oc cluster addon enable ibm-object-csi-driver --cluster CLUSTER --param "maxVolumesPerNode=VALUE" - Pour mettre à jour
maxVolumesPerNodeune fois que l'extension est déjà activée, appliquez le correctif à l'extension gérée ConfigMap.Exemple de sortieoc patch cm managed-addon-ibm-object-csi-driver -n kube-system --type merge -p '{"data":{"maxVolumesPerNode":"VALUE"}}'configmap/managed-addon-ibm-object-csi-driver patched
| Paramètre | Comportement |
|---|---|
maxVolumesPerNode: "0" (par défaut) |
Il n'y a pas de limite quant au nombre de volumes pouvant être montés par nœud. |
maxVolumesPerNode: "VALUE" |
Limite à la valeur spécifiée le nombre de volumes pouvant être montés sur un même nœud. |
Déploiement d'une application qui utilise IBM Cloud Object Storage
Créez un secret « Kubernetes » contenant vos identifiants COS.
-
Enregistrez la configuration suivante dans un fichier appelé
secret.yaml. Fournir soit des informations d'identification IAM, soit des informations HMAC, mais pas les deux.- Pour les identifiants IAM, utilisez une combinaison de
apiKeyetserviceIdà partir de Object Storage. - Pour les identifiants HMAC, utilisez
accessKeyetsecretKeyà partir de Object Storage.
apiVersion: v1 kind: Secret type: cos-s3-csi-driver metadata: name: cos-secret-1 # Name your secret. This same name is used for the PVC in the following steps. namespace: <namespace> # Specify the namespace where you want to create the secret. data: apiKey: <base64-encoded-COS-Service-Instance-apikey> serviceID: <base64-encoded-COS-resource_instance_id> accessKey: <base64-encoded-HMAC-access_key_id> secretKey: <base64-encoded-HMAC-secret_access_key> kp-root-key-crn: <CRN> # Key Protect or HPCS root key crn in base64 encoded format stringData: bucketName: <bucket-name> # Optional. If you don't provide a bucket name, a bucket with the naming convention s3fs-timestamp-xxx or rclone-timestamp-xxx is created. bucketVersioning: "false" # Bucket versioning is set to false by default. Set to "true" to enable bucket versioning. Set to "false" to disable versioning for a bucket where versioning is enabled. Must be a string value. # uid: "3000" # Optional: Provide a uid to run as non root user. This must match runAsUser in SecurityContext of pod spec. mountOptions: | # Review or update the following default s3fs mount options #multipart_size=52 #multireq_max=20 #max_dirty_data=5120 #parallel_count=20 #max_stat_cache_size=100000 #retries=5 #kernel_cache # Review or update the following default rclone mount options #acl=private #bucket_acl=private #upload_cutoff=100Mi #chunk_size=16Mi #max_upload_parts=1000 #upload_concurrency=8mountOptions- Vous pouvez personnaliser les options de montage pour
s3fsourcloneen modifiantmountOptionsdans votre secret. Alignez les options que vous spécifiez avec la classe de stockage utilisée par votre PVC. Pour revoir les valeurs par défaut d'une classe de stockage, exécutezoc describe storageclass <storageclass_name>ouoc describe storageclass <storageclass_name>. Pour plus d'informations, voir les options de montage s3fs etrclone.
Actuellement, le module complémentaire est activé pour prendre en charge un ensemble fixe d'options de montage avec une validation appropriée pour chaque option de montage. Si vous souhaitez utiliser d'autres options de montage qui ne figurent pas dans la liste de validation, contactez le service d'assistance pour activer ces options.
- Pour les identifiants IAM, utilisez une combinaison de
-
Coder tous les paramètres des données secrètes sur base64.
echo -n "<value>" | base64 -
Mettre à jour le site
secret.yamlavec les valeurs encodées de base64. -
Créez le secret.
oc apply -f secret.yaml
Créer un PVC
Vous pouvez utiliser un seul secret pour plusieurs PVC ou un secret par PVC.
Vous pouvez gérer ce comportement en utilisant les annotations suivantes dans le PVC yaml. Ces annotations aident le conducteur à associer le PVC au bon secret.
cos.csi.driver/secret: "<custom-secret>"
Assurez-vous que votre secret, votre PVC et vos pods se trouvent tous dans le même espace de noms.
Exemple PVC pour un 1-to-1 secret to PVC mapping en donnant à votre PVC le même nom que le secret que vous avez créé précédemment.
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: cos-secret-1 # Give your PVC the same name as the secret you created in the previous step.
namespace: <namespace> # The namespace where you want to create the PVC.
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 10Gi
storageClassName: <storage_class_name> # The storage class you want to use.
Exemple de PVC pour l'utilisation d'un secret pour plusieurs PVC en utilisant des annotations pour spécifier le secret.
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: cos-csi-pvc1
namespace: <namespace> # The namespace where you want to create the PVC.
annotations:
cos.csi.driver/secret: "<custom-secret>"
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 256Mi
storageClassName: <storage_class_name> # The storage class you want to use.
-
Choisissez l'un des exemples précédents et adaptez-le à votre cas d'utilisation. Pour une liste des classes de stockage, voir la référence des classes de stockage.
-
Créez le PVC (circuit virtuel permanent).
oc apply -f pvc.yaml
Créer un déploiement
-
Enregistrez la configuration suivante dans un fichier nommé «
dep.yaml».apiVersion: apps/v1 kind: Deployment metadata: name: <name> labels: app: <name> spec: replicas: 1 selector: matchLabels: app: <name> template: metadata: labels: app: <name> spec: containers: - name: app-frontend image: <image> # Enter your app image. imagePullPolicy: IfNotPresent volumeMounts: - mountPath: <path_you_want_to_mount_the_volume_on> # For example `/dev` name: cos-csi-volume volumes: - name: cos-csi-volume persistentVolumeClaim: claimName: <pvc_name> # Enter the name of the PVC you created earlier. -
Créez le déploiement.
oc apply -f dep.yaml
Désactivation du module complémentaire IBM Cloud Object Storage
Les secrets, les PVC et les déploiements existants ne sont pas supprimés par la désactivation du module complémentaire ou par les mises à jour des correctifs. Il n'y a pas de perturbation des charges de travail existantes des clients.
- Exécutez la commande suivante pour désactiver le module complémentaire.
Exemple de sortieibmcloud oc cluster addon disable ibm-object-csi-driver --cluster CLUSTERData and resources that you created for the add-on might be deleted when the add-on is disabled. Continue? [y/N]> y Disabling add-on ibm-object-csi-driver for cluster XXX... OK - Vérifiez que l'extension a bien été supprimée.
ibmcloud oc cluster addon ls --cluster CLUSTER
Migration du plug-in Helm vers le module complémentaire cluster
-
Obtenez les détails de vos PVC et sélectionnez-en un à migrer.
oc get pvc --all-namespaces -o custom-columns='NAMESPACE:.metadata.namespace,NAME:.metadata.name' | tail -n +2 | while read namespace pvc; do kubectl describe pvc "$pvc" -n "$namespace" | grep 'volume.kubernetes.io/storage-provisioner: ibm.io/ibmc-s3fs' > /dev/null ; if [ $? -eq 0 ]; then echo "PVC: $pvc in Namespace: $namespace uses ibm.io/ibmc-s3fs storage provisioner"; fi; doneExemple de sortie
PVC: pvc-test in Namespace: default uses ibm.io/ibmc-s3fs storage provisioner -
Décrire le PVC et obtenir le nom du seau.
oc describe pvc <pvc_name> | grep ibm.io/bucket:Exemple de sortie
ibm.io/bucket: test-s3 -
Recréez votre secret avec le nom du seau inclus.
apiVersion: v1 kind: Secret type: cos-s3-csi-driver metadata: name: cos-secret-1 # Name your secret. namespace: <namespace> # Specify the namespace where you want to create the secret. data: accessKey: <base64-encoded-HMAC-access-key> secretKey: <base64-encoded-HMAC-secret-key> stringData: bucketName: <bucket-name> # uid: "3000" # Optional: Provide a uid to run as non root user. This must match runAsUser in SecurityContext of pod spec. mountOptions: | key1=value1 key2=value2 -
Recherchez la classe de stockage utilisée dans votre PVC.
oc describe pvc <pvc_name> | grep StorageClass:Exemple de commande pour un PVC appelé
test-s3.oc describe pvc test-s3 | grep StorageClass:Exemple de sortie
StorageClass: ibmc-s3fs-smart-perf-regional -
Examinez les nouvelles classes de stockage disponibles avec le module complémentaire et sélectionnez une classe de remplacement.
- Si vous avez utilisé une classe
flex, choisissez l'une des nouvelles classessmart - Si vous avez utilisé une classe
standard, choisissez l'une des nouvelles classesstandard - Les classes
coldetvaultne sont plus disponibles avec le module complémentaire ; choisissez une classesmartoustandardà la place.
- Si vous avez utilisé une classe
-
Examinez les détails de votre PVC.
oc describe pvc test-s3Exemple de sortie
Name: pvc-test Namespace: default StorageClass: ibmc-s3fs-smart-perf-regional Status: Bound Volume: pvc-c625474d-31f0-4929-bc3e-feace1fb42fb Labels: <none> Annotations: ibm.io/auto-create-bucket: true ibm.io/auto-delete-bucket: true ibm.io/bucket: bha-test-s23 ibm.io/secret-name: satstoragesecret pv.kubernetes.io/bind-completed: yes pv.kubernetes.io/bound-by-controller: yes volume.kubernetes.io/storage-provisioner: ibm.io/ibmc-s3fs Finalizers: [kubernetes.io/pvc-protection] Capacity: 3Gi Access Modes: RWO VolumeMode: Filesystem Used By: test-pod Events: <none> -
Créez un PVC de remplacement qui utilise une nouvelle classe de stockage et fait référence au secret que vous avez créé précédemment.
apiVersion: v1 kind: PersistentVolumeClaim metadata: name: cos-csi-pvc1 namespace: <namespace> # The namespace where you want to create the PVC. annotations: cos.csi.driver/secret: "cos-secret-1" # Secret created in step 4 spec: accessModes: - ReadWriteOnce resources: requests: storage: 256Mi storageClassName: <storage_class_name> # The storage class you picked based on old storage class mapping. -
Vérifier que le PVC est
Bound.oc get pvc -
Consultez les informations relatives à votre application.
oc get pods -
Réduisez votre application à zéro.
kubectl scale deployment --replicas=0 my-app -
Créez un déploiement de remplacement qui fait référence au PVC que vous avez créé à l'étape précédente.
-
Une fois la nouvelle répartition en cours d'exécution, vous pouvez supprimer l'ancienne répartition.
-
Répétez ces étapes pour chaque PVC que vous souhaitez migrer.
IBM Cloud Object Storage classes de stockage supplémentaires pour les clusters
Le module complémentaire de cluster IBM Cloud Object Storage fournit des classes de stockage pour les supports s3fs et rclone. Sélectionnez une classe de stockage qui convient à vos exigences en matière d'accès aux
données. La classe de stockage détermine la classe de bac, la politique de récupération et le comportement de montage par défaut du bac créé pour votre charge de travail.
- standard
- À utiliser pour les données chaudes auxquelles vous accédez fréquemment, telles que les données des applications web ou mobiles.
- Intelligence
- A utiliser pour les charges de travail et les données qui ne suivent pas un schéma d'utilisation spécifique, ou lorsque le schéma d'utilisation est difficile à prévoir.
| Nom | Classe de compartiment | Résilience | Monteur | Stratégie de récupération | Mode de liaison |
|---|---|---|---|---|---|
| ibm-stockage-objet-smart-inter-régional-rclone | Intelligence | Interrégional | rclone |
Supprimer | Immédiate |
| ibm-stockage-objet-smart-inter-régions-rclone-conservation | Intelligence | Interrégional | rclone |
Conserver | Immédiate |
| ibm-object-storage-smart-cross-region-s3fs | Intelligence | Interrégional | s3fs |
Supprimer | Immédiate |
| ibm-object-storage-smart-cross-region-s3fs-retain | Intelligence | Interrégional | s3fs |
Conserver | Immédiate |
| ibm-stockage-objet-smart-rclone | Intelligence | Régional | rclone |
Supprimer | Immédiate |
| ibm-stockage-objet-smart-rclone-conservation | Intelligence | Régional | rclone |
Conserver | Immédiate |
| ibm-object-storage-smart-s3fs | Intelligence | Régional | s3fs |
Supprimer | Immédiate |
| ibm-object-storage-smart-s3fs-retain | Intelligence | Régional | s3fs |
Conserver | Immédiate |
| ibm-stockage-objet-standard-inter-régions-rclone | standard | Interrégional | rclone |
Supprimer | Immédiate |
| ibm-stockage-objet-standard-inter-régions-rclone-conservation | standard | Interrégional | rclone |
Conserver | Immédiate |
| ibm-object-storage-standard-cross-region-s3fs | standard | Interrégional | s3fs |
Supprimer | Immédiate |
| ibm-object-storage-standard-cross-region-s3fs-retain | standard | Interrégional | s3fs |
Conserver | Immédiate |
| ibm-objet-stockage-standard-rclone | standard | Régional | rclone |
Supprimer | Immédiate |
| ibm-stockage-objet-standard-rclone-conservation | standard | Régional | rclone |
Conserver | Immédiate |
| ibm-object-storage-standard-s3fs | standard | Régional | s3fs |
Supprimer | Immédiate |
| ibm-object-storage-standard-s3fs-retain | standard | Régional | s3fs |
Conserver | Immédiate |
Pour examiner la configuration détaillée des seaux d'une classe de stockage, exécutez oc describe storageclass <storageclass_name> ou oc describe storageclass <storageclass_name>.
Paramètres de classe de stockage
Toutes les classes de stockage complémentaires pour clusters comprennent les paramètres de base suivants.
| Paramètre | Description |
|---|---|
client |
Identifie le type de client utilisé par le pilote. Les classes de stockage supplémentaires utilisent awss3. |
cosEndpoint |
Définit le point d'arrivée IBM Cloud Object Storage pour la région du seau. |
csi.storage.k8s.io/node-publish-secret-name |
Fait référence au nom du secret qui contient vos informations d'identification IBM Cloud Object Storage. |
csi.storage.k8s.io/node-publish-secret-namespace |
Fait référence à l'espace de noms du secret qui contient vos informations d'identification IBM Cloud Object Storage. |
locationConstraint |
Définit la classe et la région du seau, par exemple au-syd-smart ou au-syd-standard. |
mounter |
Indique si la classe de stockage utilise le monteur s3fs ou rclone. |
Options de montage par défaut de la classe de stockage s3fs
Les classes de stockage s3fs utilisent les options de montage par défaut suivantes.
| Option de montage | Description |
|---|---|
multipart_size=52 |
Définit la taille de la partie, en Mo, pour chaque demande multipartite. |
multireq_max=20 |
Définit le nombre maximal de requêtes parallèles pour l'établissement de listes d'objets. |
max_dirty_data=5120 |
Vide les données sales sur S3 après l'écriture d'un nombre spécifié de Mo. La valeur minimale supportée est 50. Une valeur de -1 désactive ce comportement. |
parallel_count=20 |
Définit le nombre de requêtes parallèles pour le téléchargement d'objets volumineux. s3fs télécharge des objets volumineux en utilisant des requêtes multipartites et envoie des requêtes en parallèle. |
max_stat_cache_size=100000 |
Définit le nombre maximal d'entrées dans le cache de statuts et le cache de liens symboliques. |
retries=5 |
Définit le nombre de tentatives d'échec d'une transaction S3. |
kernel_cache |
Active le cache tampon du noyau pour le point de montage du volume. Les données lues sur le site IBM Cloud Object Storage sont stockées dans le cache du noyau afin d'accélérer l'accès à la lecture. Le cache du noyau est activé pour les
classes de stockage standard et smart s3fs. |
Options de montage par défaut de la classe de stockage rclone
Les classes de stockage rclone utilisent les options de montage par défaut suivantes.
| Option de montage | Description |
|---|---|
acl=private |
Veille à ce que les objets téléchargés ne soient pas accessibles au public. |
bucket_acl=private |
Définit l'ACL par défaut pour les buckets créés par rclone à private. |
upload_cutoff=100Mi |
Chargement de fichiers plus grands que 100 MiB en utilisant le téléchargement en plusieurs parties. Les petits fichiers sont téléchargés en une seule fois. |
chunk_size=16Mi |
Définit la taille de chaque partie dans un téléchargement en plusieurs parties. |
max_upload_parts=1000 |
Définit le nombre maximal de pièces par téléchargement multipartite et plafonne indirectement la taille maximale du fichier pris en charge avec la valeur configurée chunk_size. Avec chunk_size=16Mi, la taille
maximale du fichier est de 16 GiB. |
upload_concurrency=8 |
Définit le nombre de pièces qui sont téléchargées en parallèle lors d'un téléchargement multipartite. |