Instalación del complemento de clúster IBM Cloud Object Storage
Puedes activar el complemento « IBM Cloud Object Storage » desde la consola de IBM Cloud o desde la CLI.
Requisitos previos:
- El complemento IBM Cloud Object Storage requiere al menos 0.3 vCPU y 360 MB de memoria.
- El complemento está disponible para Red Hat CoreOS (RHCOS) y Ubuntu worker nodes. Si su clúster tiene nodos RHEL y RHCOS, el complemento se implementa sólo en los nodos RHCOS.
- Configure una instancia de IBM Cloud Object Storage.
- Opcional Si planea utilizar el versionado de cubos, sus credenciales de servicio deben tener permisos de Administrador o Escritor para activar o desactivar el versionado de cubos en el cubo. Para obtener más información, consulta Primeros pasos con el control de versiones.
Comprender la creación y eliminación de cubos
- Puede utilizar un cubo existente especificando el nombre del cubo en su PVC.
- Si proporciona un nombre de cubo y ese cubo no existe, se creará un cubo con ese nombre.
- Si no proporciona un nombre de cubo, se creará un cubo con la convención de nomenclatura
temp-xxx. - Los cubos se eliminan en función de la política de recuperación definida en la clase de almacenamiento.
- Si se establece
reclaimPolicy: Delete, el cubo se elimina cuando se elimina el PVC. - Si se establece
reclaimPolicy: Retain, el bucket se conserva incluso después de eliminar el PVC.
- Si se establece
Activar el complemento « IBM Cloud Object Storage » desde la consola
- En el panel de control de clústeres de Red Hat OpenShift on IBM Cloud, selecciona el clúster en el que deseas activar el complemento.
- En la sección «Complementos», busca el Cloud Object Storage complemento y haz clic en « Instalar ».
- En el panel « Instalar complemento: Cloud Object Storage », selecciona una versión en el menú desplegable « Versión ».
- Opcional: Configura los siguientes parámetros.
maxVolumesPerNode- Establece el número máximo de volúmenes de « IBM Cloud Object Storage » que se pueden montar en un único nodo. El valor por defecto es «
0», lo que significa que no se aplica ningún límite. restrictNodeServerScheduling- Establece el valor en «
true» para restringir que los pods de nodeserver se ejecuten únicamente en nodos etiquetados como «cos.csi.ibm.io/csi-node=true». El valor por defecto es «false», lo que significa que los pods de nodeserver se programan en todos los nodos.
- Pulse Instalar. El complemento puede tardar algunos minutos en desplegarse y estar listo para su uso.
- Verifique la instalación. En la sección «Complementos», comprueba que el Cloud Object Storage complemento muestra un estado de salud « Normal ».
Activación del complemento IBM Cloud Object Storage desde la CLI
Antes de empezar: acceda al clúster de Red Hat OpenShift.
- Actualiza el complemento «
container-service» a la versión más reciente.ibmcloud update && ibmcloud plugin update container-service - Enumera los complementos y busca la versión que deseas instalar.
ibmcloud oc cluster addon versions - Revise las opciones del complemento.
ibmcloud oc cluster addon options --addon ibm-object-csi-driver [--version VERSION] - Instala el complemento.
ibmcloud oc cluster addon enable ibm-object-csi-driver --cluster CLUSTER [--version VERSION] - Verifique la instalación.
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) - Enumera las clases de almacenamiento disponibles. El controlador es compatible con clases de almacenamiento tanto regionales como interregionales para los montadores
s3fsyrclone.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
Restricción de la programación de pods de nodoserver
De forma predeterminada, los pods del servidor de nodos del controlador COS CSI se programan en todos los nodos del clúster. Puedes utilizar el parámetro « restrictNodeServerScheduling » para restringir la programación de los pods
de nodeserver únicamente a los nodos etiquetados con « cos.csi.ibm.io/csi-node=true ».
Puedes configurar « restrictNodeServerScheduling » al habilitar el complemento, o actualizarlo más adelante aplicando el parche « ConfigMap ».
- Para establecer «
restrictNodeServerScheduling» al habilitar el complemento, incluye el indicador «--param» en el comando de habilitación.ibmcloud oc cluster addon enable ibm-object-csi-driver --cluster CLUSTER --param "restrictNodeServerScheduling=true" - Para actualizar «
restrictNodeServerScheduling» una vez que el complemento ya esté activado, sigue estos pasos.
- Enumera los nodos de tu clúster y determina dónde quieres que se ejecuten los pods del controlador COS.
Salida de ejemplooc 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 - Comprueba que los pods de nodeserver estén actualmente en ejecución en todos los nodos.
Salida de ejemplooc 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> - Etiqueta los nodos en los que quieras que se programen los pods de nodeserver.
Salida de ejemplooc 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 - Activa la restricción actualizando el archivo « ConfigMap ».
Salida de ejemplooc 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 - Comprueba que los pods de nodeserver solo se programen en nodos etiquetados.
Salida de ejemplooc 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>
| Valor | Comportamiento |
|---|---|
restrictNodeServerScheduling: "false" (Valor predeterminado) |
Los pods de Nodeserver se programan en todos los nodos. |
restrictNodeServerScheduling: "true" |
Los pods de Nodeserver solo se programan en nodos etiquetados como « cos.csi.ibm.io/csi-node=true ». |
Configuración de los volúmenes máximos por nodo
Por defecto, el controlador COS CSI no limita el número de volúmenes que se pueden montar en un único nodo. Puedes utilizar el parámetro « maxVolumesPerNode » para establecer el número máximo de volúmenes por nodo.
Puedes configurar « maxVolumesPerNode » al habilitar el complemento, o actualizarlo más adelante aplicando el parche « ConfigMap ».
- Para establecer «
maxVolumesPerNode» al habilitar el complemento, incluye el indicador «--param» en el comando de habilitación.ibmcloud oc cluster addon enable ibm-object-csi-driver --cluster CLUSTER --param "maxVolumesPerNode=VALUE" - Para actualizar
maxVolumesPerNodeuna vez que el complemento ya esté activado, aplica el parche al complemento gestionado ConfigMap.Salida de ejemplooc 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
| Valor | Comportamiento |
|---|---|
maxVolumesPerNode: "0" (Valor predeterminado) |
No hay límite en el número de volúmenes que se pueden montar por nodo. |
maxVolumesPerNode: "VALUE" |
Limita el número de volúmenes que se pueden montar en un único nodo al valor especificado. |
Implementación de una aplicación que utiliza IBM Cloud Object Storage
Crea un secreto de « Kubernetes » que contenga tus credenciales de COS.
-
Guarde la siguiente configuración como un archivo llamado
secret.yaml. Proporcione credenciales IAM o HMAC, pero no ambas.- Para las credenciales IAM, utilice una combinación de
apiKeyyserviceIdde Object Storage. - Para las credenciales HMAC, utilice
accessKeyysecretKeyde 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- Puedes personalizar las opciones de montaje para
s3fsorcloneeditandomountOptionsen tu secreto. Alinea las opciones que especifiques con la clase de almacenamiento que utiliza tu PVC. Para revisar los valores por defecto de una clase de almacenamiento, ejecuteoc describe storageclass <storageclass_name>ooc describe storageclass <storageclass_name>. Para más información, consulte s3fs opciones de montaje yrcloneopciones de montaje.
Actualmente, el complemento está habilitado para admitir un conjunto fijo de opciones de montaje con la validación adecuada para cada opción de montaje. Si desea utilizar otras opciones de montaje que no figuran en la lista de validación, póngase en contacto con el servicio de asistencia para activarlas.
- Para las credenciales IAM, utilice una combinación de
-
Codifica todos los parámetros de datos secretos en base64.
echo -n "<value>" | base64 -
Actualice
secret.yamlcon los valores codificados en base64. -
Cree el secreto:
oc apply -f secret.yaml
Crear un PVC
Puedes utilizar un único secreto para varios PVC o un secreto por PVC.
Puedes gestionar este comportamiento utilizando las siguientes anotaciones en el PVC yaml. Estas anotaciones ayudan al conductor a asignar el PVC al secreto correcto.
cos.csi.driver/secret: "<custom-secret>"
Asegúrate de que tu «secret», «PVC» y «pods» estén todos en el mismo espacio de nombres
Ejemplo PVC para un 1-to-1 secreto a PVC mapeo dando a su PVC el mismo nombre que el secreto que creó anteriormente.
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.
Ejemplo de PVC para utilizar 1 secreto a muchos PVC utilizando anotaciones para especificar el secreto.
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.
-
Elija uno de los ejemplos anteriores y personalícelo para su caso de uso. Para obtener una lista de las clases de almacenamiento, consulte la referencia de clases de almacenamiento.
-
Cree la PVC.
oc apply -f pvc.yaml
Crear un despliegue
-
Guarda la siguiente configuración en un archivo llamado «
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. -
Cree el despliegue.
oc apply -f dep.yaml
Desactivación del complemento IBM Cloud Object Storage
Los secretos, PVCs y despliegues existentes no se eliminan al desactivar el complemento ni con las actualizaciones de parches. No hay interrupciones en las cargas de trabajo existentes de los clientes.
- Ejecuta el siguiente comando para desactivar el complemento.
Salida de ejemploibmcloud 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 - Comprueba que se haya eliminado el complemento.
ibmcloud oc cluster addon ls --cluster CLUSTER
Migración del complemento Helm al complemento clúster
-
Obtenga los detalles de sus PVC y seleccione uno para migrar.
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; doneSalida de ejemplo
PVC: pvc-test in Namespace: default uses ibm.io/ibmc-s3fs storage provisioner -
Describe el PVC y obtén el nombre del cubo.
oc describe pvc <pvc_name> | grep ibm.io/bucket:Salida de ejemplo
ibm.io/bucket: test-s3 -
Vuelve a crear tu secreto con el nombre del cubo incluido.
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 -
Busque la clase de almacenamiento que se utilizó en su PVC.
oc describe pvc <pvc_name> | grep StorageClass:Ejemplo de comando para un PVC llamado
test-s3.oc describe pvc test-s3 | grep StorageClass:Salida de ejemplo
StorageClass: ibmc-s3fs-smart-perf-regional -
Revise las nuevas clases de almacenamiento disponibles con el complemento y seleccione una clase de sustitución.
- Si utilizó una clase
flex, elija una de las nuevas clasessmart. - Si utilizó una clase
standard, elija una de las nuevas clasesstandard. - Las clases
coldyvaultya no están disponibles con el complemento; elija en su lugar una clasesmartostandard.
- Si utilizó una clase
-
Revise los detalles de su PVC.
oc describe pvc test-s3Salida de ejemplo
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> -
Crea un PVC de sustitución que utilice una nueva clase de almacenamiento y haga referencia al secreto que creaste anteriormente.
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. -
Verifique que el PVC es
Bound.oc get pvc -
Consulta los detalles de tu aplicación.
oc get pods -
Reduzca su aplicación a cero.
kubectl scale deployment --replicas=0 my-app -
Cree una implantación de sustitución que haga referencia a la PVC creada en el paso anterior.
-
Una vez que se haya ejecutado la nueva implantación, puede eliminar la antigua.
-
Repite estos pasos para cada PVC que quieras migrar.
IBM Cloud Object Storage clases de almacenamiento de clústeres adicionales
El complemento de clúster IBM Cloud Object Storage proporciona clases de almacenamiento para los montadores s3fs y rclone. Elija una clase de almacenamiento que se ajuste a sus requisitos de acceso a datos. La clase
de almacenamiento determina la clase de bucket, la política de recuperación y el comportamiento de montaje predeterminado para el bucket que se crea para su carga de trabajo.
- Standard
- Utilízalo para datos calientes a los que accedes con frecuencia, como datos para aplicaciones web o móviles.
- Inteligente
- Se utiliza para cargas de trabajo y datos que no siguen un patrón de uso específico, o cuando el patrón de uso es difícil de predecir.
| Nombre | Clase de grupo | Resiliencia | Montador | Política de reclamación | Modalidad de enlace |
|---|---|---|---|---|---|
| ibm-almacenamiento-de-objetos-smart-cross-region-rclone | Inteligente | Interregional | rclone |
Suprimir | Inmediato |
| ibm-almacenamiento-de-objetos-smart-cross-region-rclone-retain | Inteligente | Interregional | rclone |
Retener | Inmediato |
| ibm-object-storage-smart-cross-region-s3fs | Inteligente | Interregional | s3fs |
Suprimir | Inmediato |
| ibm-object-storage-smart-cross-region-s3fs-retain | Inteligente | Interregional | s3fs |
Retener | Inmediato |
| ibm-almacenamiento-de-objetos-smart-rclone | Inteligente | Regional | rclone |
Suprimir | Inmediato |
| ibm-almacenamiento-de-objetos-smart-rclone-retain | Inteligente | Regional | rclone |
Retener | Inmediato |
| ibm-object-storage-smart-s3fs | Inteligente | Regional | s3fs |
Suprimir | Inmediato |
| ibm-object-storage-smart-s3fs-retain | Inteligente | Regional | s3fs |
Retener | Inmediato |
| ibm-object-storage-standard-cross-region-rclone | Standard | Interregional | rclone |
Suprimir | Inmediato |
| ibm-almacenamiento-de-objetos-estándar-entre-regiones-rclone-retain | Standard | Interregional | rclone |
Retener | Inmediato |
| ibm-object-storage-standard-cross-region-s3fs | Standard | Interregional | s3fs |
Suprimir | Inmediato |
| ibm-object-storage-standard-cross-region-s3fs-retain | Standard | Interregional | s3fs |
Retener | Inmediato |
| ibm-almacenamiento-de-objetos-estándar-rclone | Standard | Regional | rclone |
Suprimir | Inmediato |
| ibm-object-storage-standard-rclone-retain | Standard | Regional | rclone |
Retener | Inmediato |
| ibm-object-storage-standard-s3fs | Standard | Regional | s3fs |
Suprimir | Inmediato |
| ibm-object-storage-standard-s3fs-retain | Standard | Regional | s3fs |
Retener | Inmediato |
Para revisar la configuración detallada de los cubos de una clase de almacenamiento, ejecute oc describe storageclass <storageclass_name> o oc describe storageclass <storageclass_name>.
Parámetros de clase de almacenamiento
Todas las clases de almacenamiento adicionales del clúster incluyen los siguientes parámetros básicos.
| Parámetro | Descripción |
|---|---|
client |
Identifica el tipo de cliente que utiliza el controlador. Las clases de almacenamiento adicionales utilizan awss3. |
cosEndpoint |
Define el punto final de IBM Cloud Object Storage para la región del cubo. |
csi.storage.k8s.io/node-publish-secret-name |
Hace referencia al nombre del secreto que contiene sus credenciales IBM Cloud Object Storage. |
csi.storage.k8s.io/node-publish-secret-namespace |
Hace referencia al espacio de nombres del secreto que contiene sus credenciales IBM Cloud Object Storage. |
locationConstraint |
Define la clase de cubo y la región, como au-syd-smart o au-syd-standard. |
mounter |
Especifica si la clase de almacenamiento utiliza el montador s3fs o rclone. |
Opciones de montaje por defecto de la clase de almacenamiento s3fs
Las clases de almacenamiento s3fs utilizan las siguientes opciones de montaje por defecto.
| Opción de montaje | Descripción |
|---|---|
multipart_size=52 |
Establece el tamaño de la parte, en MB, para cada solicitud multiparte. |
multireq_max=20 |
Establece el número máximo de peticiones paralelas para listar objetos. |
max_dirty_data=5120 |
Descarga los datos sucios en S3 después de escribir un número especificado de MB. El valor mínimo admitido es 50. Un valor de -1 desactiva este comportamiento. |
parallel_count=20 |
Establece el número de peticiones paralelas para subir objetos grandes. s3fs sube objetos grandes utilizando peticiones multiparte y envía peticiones en paralelo. |
max_stat_cache_size=100000 |
Establece el número máximo de entradas en la caché de estadísticas y la caché de enlaces simbólicos. |
retries=5 |
Establece el número de veces que se reintentará una transacción fallida en S3. |
kernel_cache |
Activa la caché de búfer del núcleo para el punto de montaje del volumen. Los datos que se leen de IBM Cloud Object Storage se almacenan en la caché del núcleo para facilitar un acceso de lectura más rápido. La caché del kernel está
activada para las clases de almacenamiento estándar e inteligente s3fs. |
Opciones de montaje por defecto de la clase de almacenamiento rclone
Las clases de almacenamiento rclone utilizan las siguientes opciones de montaje por defecto.
| Opción de montaje | Descripción |
|---|---|
acl=private |
Garantiza que los objetos cargados no sean de acceso público. |
bucket_acl=private |
Establece la ACL predeterminada para los buckets que crea rclone en private. |
upload_cutoff=100Mi |
Sube archivos mayores que 100 MiB utilizando la subida multiparte. Los archivos más pequeños se cargan en una sola solicitud. |
chunk_size=16Mi |
Establece el tamaño de cada parte en una carga multiparte. |
max_upload_parts=1000 |
Establece el número máximo de partes por carga multiparte y limita indirectamente el tamaño máximo de archivo admitido con el chunk_size configurado. Con chunk_size=16Mi, el tamaño máximo de archivo es 16 GiB. |
upload_concurrency=8 |
Establece el número de partes que se cargan en paralelo durante una carga multiparte. |