Instalando o complemento de cluster IBM Cloud Object Storage
Você pode ativar o complemento “ IBM Cloud Object Storage ” pelo console do IBM Cloud ou pela CLI.
Pré-requisitos:
- O complemento IBM Cloud Object Storage requer pelo menos 0.3 vCPU e 360 MB de memória.
- O complemento está disponível para os nós de trabalho Red Hat CoreOS (RHCOS) e Ubuntu. Se o seu cluster tiver nós RHEL e RHCOS, o complemento será implantado somente nos nós RHCOS.
- Configure uma instância do IBM Cloud Object Storage.
- Opcional Se você planeja usar o controle de versão do bucket, suas credenciais de serviço devem ter permissões de Manager ou Writer para ativar ou desativar o controle de versão do bucket no bucket. Para obter mais informações, acesse Introdução ao controle de versões.
Compreensão da criação e remoção de baldes
- Você pode usar um bucket existente especificando o nome do bucket em seu PVC.
- Se você fornecer um nome de bucket e esse bucket não existir, será criado um bucket com esse nome.
- Se você não fornecer um nome de bucket, será criado um bucket com a convenção de nomenclatura
temp-xxx. - Os compartimentos são excluídos com base na política de recuperação definida em sua classe de armazenamento.
- Se
reclaimPolicy: Deletefor definido, o bucket será excluído quando o PVC for excluído. - Se
reclaimPolicy: Retainfor definido, o bucket será mantido mesmo depois que o PVC for excluído.
- Se
Ativando o complemento “ IBM Cloud Object Storage ” no console
- No painel do cluster do Red Hat OpenShift on IBM Cloud, selecione o cluster no qual você deseja ativar o complemento.
- Na seção “Complementos”, localize o Cloud Object Storage complemento e clique em “Instalar ”.
- No painel “Instalar complemento: Cloud Object Storage ”, selecione uma versão no menu suspenso “Versão ”.
- Opcional: Configure os seguintes parâmetros.
maxVolumesPerNode- Defina o número máximo de volumes do IBM Cloud Object Storage que podem ser montados em um único nó. O valor padrão é
0``, o que significa que nenhum limite é aplicado. restrictNodeServerScheduling- Defina como
truepara restringir a execução dos pods do nodeserver apenas aos nós rotulados comocos.csi.ibm.io/csi-node=true. O valor padrão é ` `false, o que significa que os pods do nodeserver são agendados em todos os nós.
- Clique em Instalar. O complemento pode levar alguns minutos para ser implementado e ficar pronto para uso
- Verifique a instalação. Na seção “Complementos ”, verifique se o Cloud Object Storage complemento apresenta um estado de integridade “Normal ”.
Ativação do complemento IBM Cloud Object Storage na CLI
Antes de começar: acesse o seu cluster do Red Hat OpenShift.
- Atualize o plug-in “
container-service” para a versão mais recente.ibmcloud update && ibmcloud plugin update container-service - Liste os complementos e encontre a versão que você deseja instalar.
ibmcloud oc cluster addon versions - Revise as opções do complemento.
ibmcloud oc cluster addon options --addon ibm-object-csi-driver [--version VERSION] - Instale o complemento.
ibmcloud oc cluster addon enable ibm-object-csi-driver --cluster CLUSTER [--version VERSION] - Verifique a instalação.
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) - Liste as classes de armazenamento disponíveis. O driver oferece suporte a classes de armazenamento regionais e inter-regionais para os montadores
s3fserclone.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
Restrição do agendamento de pods do nodeserver
Por padrão, os pods do servidor de nós do driver COS CSI são agendados em todos os nós do cluster. Você pode usar o parâmetro restrictNodeServerScheduling para restringir o agendamento de pods do nodeserver apenas
aos nós rotulados com cos.csi.ibm.io/csi-node=true``.
Você pode configurar o restrictNodeServerScheduling ao ativar o complemento ou atualizá-lo posteriormente aplicando o patch no ConfigMap.
- Para definir
restrictNodeServerSchedulingao ativar o complemento, inclua o sinalizador--paramno comando de ativação.ibmcloud oc cluster addon enable ibm-object-csi-driver --cluster CLUSTER --param "restrictNodeServerScheduling=true" - Para atualizar o “
restrictNodeServerScheduling” depois que o complemento já estiver ativado, siga estas etapas.
- Liste os nós do seu cluster e determine onde você deseja que os pods do driver COS sejam executados.
Exemplo de saídaoc 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 - Verifique se os pods do nodeserver estão em execução em todos os nós.
Exemplo de saídaoc 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> - Identifique os nós nos quais você deseja que os pods do nodeserver sejam agendados.
Exemplo de saídaoc 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 - Ative a restrição atualizando o arquivo
ConfigMap.Exemplo de saídaoc 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 - Verifique se os pods do nodeserver são agendados apenas em nós rotulados.
Exemplo de saídaoc 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>
| Configuração | Comportamento |
|---|---|
restrictNodeServerScheduling: "false" (padrão) |
Os pods do Nodeserver são agendados em todos os nós. |
restrictNodeServerScheduling: "true" |
Os pods do Nodeserver são agendados apenas em nós rotulados como “ cos.csi.ibm.io/csi-node=true ”. |
Definição dos volumes máximos por nó
Por padrão, o driver COS CSI não limita o número de volumes que podem ser montados em um único nó. Você pode usar o parâmetro maxVolumesPerNode para definir um número máximo de volumes por nó.
Você pode configurar o maxVolumesPerNode ao ativar o complemento ou atualizá-lo posteriormente aplicando o patch no ConfigMap.
- Para definir
maxVolumesPerNodeao ativar o complemento, inclua o sinalizador--paramno comando de ativação.ibmcloud oc cluster addon enable ibm-object-csi-driver --cluster CLUSTER --param "maxVolumesPerNode=VALUE" - Para atualizar o
maxVolumesPerNodedepois que o complemento já estiver habilitado, aplique a correção ao complemento gerenciado ConfigMap.Exemplo de saídaoc 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
| Configuração | Comportamento |
|---|---|
maxVolumesPerNode: "0" (padrão) |
Não há limite para o número de volumes que podem ser montados por nó. |
maxVolumesPerNode: "VALUE" |
Limita o número de volumes que podem ser montados em um único nó ao valor especificado. |
Implantação de um aplicativo que utiliza IBM Cloud Object Storage
Crie um segredo do Kubernetes que contenha suas credenciais do COS.
-
Salve a configuração a seguir em um arquivo chamado
secret.yaml. Forneça credenciais de IAM ou HMAC, mas não ambos.- Para credenciais de IAM, use uma combinação de
apiKeyeserviceIdde Object Storage. - Para credenciais HMAC, use
accessKeyesecretKeyde 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- Você pode personalizar as opções de montagem para
s3fsourcloneeditando omountOptionsem seu segredo. Alinhe as opções que você especificar com a classe de armazenamento que seu PVC usa. Para revisar os valores padrão de uma classe de armazenamento, executeoc describe storageclass <storageclass_name>ouoc describe storageclass <storageclass_name>. Para obter mais informações, consulte as opções de montagem s3fs e as opções de montagemrclone.
Atualmente, o complemento está habilitado para suportar um conjunto fixo de opções de montagem com validação adequada para cada opção de montagem. Se quiser usar qualquer outra opção de montagem que não esteja na lista de validação, entre em contato com o suporte para ativar essas opções.
- Para credenciais de IAM, use uma combinação de
-
Codifique todos os parâmetros de dados secretos para base64.
echo -n "<value>" | base64 -
Atualize o site
secret.yamlcom os valores codificados em base64. -
Crie o segredo.
oc apply -f secret.yaml
Criar um PVC
Você pode usar um único segredo em vários PVCs ou um segredo por PVC.
Você pode gerenciar esse comportamento usando as seguintes anotações no PVC yaml. Essas anotações ajudam o driver a mapear o PVC para o segredo correto.
cos.csi.driver/secret: "<custom-secret>"
Certifique-se de que seu segredo, o PVC e os pods estejam todos no mesmo namespace
Exemplo de PVC para um mapeamento de 1-to-1 segredo para PVC, dando ao seu PVC o mesmo nome do segredo que você criou 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.
Exemplo de PVC para usar 1 segredo para muitos PVCs usando anotações para especificar o segredo.
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.
-
Escolha um dos exemplos anteriores e personalize-o de acordo com seu caso de uso. Para obter uma lista das classes de armazenamento, consulte a referência da classe Storage.
-
Crie o PVC.
oc apply -f pvc.yaml
Criar uma implementação
-
Salve a configuração a seguir em um arquivo chamado
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. -
Crie a implementação.
oc apply -f dep.yaml
Desativando o complemento IBM Cloud Object Storage
Os segredos, PVCs e implantações existentes não são excluídos pela desativação do complemento ou por atualizações de patches. Não há interrupções nas cargas de trabalho existentes dos clientes.
- Execute o comando a seguir para desativar o complemento.
Exemplo de saídaibmcloud 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 - Verifique se o complemento foi removido.
ibmcloud oc cluster addon ls --cluster CLUSTER
Migração do plug-in Helm para o complemento de cluster
-
Obtenha os detalhes de seus PVCs e selecione um 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; doneExemplo de saída
PVC: pvc-test in Namespace: default uses ibm.io/ibmc-s3fs storage provisioner -
Descreva o PVC e obtenha o nome do balde.
oc describe pvc <pvc_name> | grep ibm.io/bucket:Exemplo de saída
ibm.io/bucket: test-s3 -
Recrie seu segredo com o nome do balde incluído.
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 -
Encontre a classe de armazenamento que foi usada em seu PVC.
oc describe pvc <pvc_name> | grep StorageClass:Exemplo de comando para um PVC chamado
test-s3.oc describe pvc test-s3 | grep StorageClass:Exemplo de saída
StorageClass: ibmc-s3fs-smart-perf-regional -
Revise as novas classes de armazenamento disponíveis com o add-on e selecione uma classe de substituição.
- Se você usou uma classe
flex, escolha uma das novas classessmart. - Se você usou uma classe
standard, escolha uma das novas classesstandard. - As classes
coldevaultnão estão mais disponíveis com o add-on; em vez disso, escolha uma classesmartoustandard.
- Se você usou uma classe
-
Analise os detalhes de seu PVC.
oc describe pvc test-s3Exemplo de saída
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> -
Crie um PVC de substituição que use uma nova classe de armazenamento e faça referência ao segredo que você criou 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 se o PVC é
Bound.oc get pvc -
Veja os detalhes do seu aplicativo.
oc get pods -
Reduza seu aplicativo a zero.
kubectl scale deployment --replicas=0 my-app -
Crie uma implantação de substituição que faça referência ao PVC que você criou na etapa anterior.
-
Depois que a nova implantação estiver em execução, você poderá excluir a implantação antiga.
-
Repita essas etapas para cada PVC que você deseja migrar.
IBM Cloud Object Storage classes de armazenamento complementares do cluster
O complemento de cluster IBM Cloud Object Storage fornece classes de armazenamento para os montadores s3fs e rclone. Escolha uma classe de armazenamento que se ajuste aos seus requisitos de acesso a dados. A classe
de armazenamento determina a classe do bucket, a política de recuperação e o comportamento de montagem padrão para o bucket criado para sua carga de trabalho.
- Standard
- Use para dados quentes que você acessa com frequência, como dados para aplicativos da Web ou móveis.
- Inteligente
- Use para cargas de trabalho e dados que não seguem um padrão de uso específico ou quando for difícil prever o padrão de uso.
| Nome | Classe de depósito | Resiliência | Montador | Política de recuperação | Modo de Ligação |
|---|---|---|---|---|---|
| ibm-armazenamento-de-objetos-smart-entre-regiões-rclone | Inteligente | Inter-regional | rclone |
Excluir | Imediato |
| ibm-armazenamento-de-objetos-smart-entre-regiões-rclone-retain | Inteligente | Inter-regional | rclone |
Reter | Imediato |
| ibm-object-storage-smart-cross-region-s3fs | Inteligente | Inter-regional | s3fs |
Excluir | Imediato |
| ibm-object-storage-smart-cross-region-s3fs-retain | Inteligente | Inter-regional | s3fs |
Reter | Imediato |
| ibm-object-storage-smart-rclone | Inteligente | Regional | rclone |
Excluir | Imediato |
| ibm-armazenamento-de-objetos-smart-rclone-retain | Inteligente | Regional | rclone |
Reter | Imediato |
| ibm-object-storage-smart-s3fs | Inteligente | Regional | s3fs |
Excluir | Imediato |
| ibm-object-storage-smart-s3fs-retain | Inteligente | Regional | s3fs |
Reter | Imediato |
| ibm-object-storage-standard-entre-regiões-rclone | Standard | Inter-regional | rclone |
Excluir | Imediato |
| ibm-object-storage-standard-entre-regiões-rclone-retain | Standard | Inter-regional | rclone |
Reter | Imediato |
| ibm-object-storage-standard-cross-region-s3fs | Standard | Inter-regional | s3fs |
Excluir | Imediato |
| ibm-object-storage-standard-cross-region-s3fs-retain | Standard | Inter-regional | s3fs |
Reter | Imediato |
| ibm-object-storage-standard-rclone | Standard | Regional | rclone |
Excluir | Imediato |
| ibm-object-storage-standard-rclone-retain | Standard | Regional | rclone |
Reter | Imediato |
| ibm-object-storage-standard-s3fs | Standard | Regional | s3fs |
Excluir | Imediato |
| ibm-object-storage-standard-s3fs-retain | Standard | Regional | s3fs |
Reter | Imediato |
Para revisar a configuração detalhada do bucket para uma classe de armazenamento, execute oc describe storageclass <storageclass_name> ou oc describe storageclass <storageclass_name>.
Parâmetros de classe de armazenamento
Todas as classes de armazenamento complementar de cluster incluem os seguintes parâmetros principais.
| Parâmetro | Descrição |
|---|---|
client |
Identifica o tipo de cliente que o driver usa. As classes de armazenamento complementar usam awss3. |
cosEndpoint |
Define o ponto de extremidade IBM Cloud Object Storage para a região do compartimento. |
csi.storage.k8s.io/node-publish-secret-name |
Faz referência ao nome do segredo que contém suas credenciais IBM Cloud Object Storage. |
csi.storage.k8s.io/node-publish-secret-namespace |
Faz referência ao namespace do segredo que contém suas credenciais IBM Cloud Object Storage. |
locationConstraint |
Define a classe e a região do bucket, como au-syd-smart ou au-syd-standard. |
mounter |
Especifica se a classe de armazenamento usa o montador s3fs ou rclone. |
Opções de montagem padrão da classe de armazenamento s3fs
As classes de armazenamento s3fs usam as seguintes opções de montagem padrão.
| Opção de montagem | Descrição |
|---|---|
multipart_size=52 |
Define o tamanho da parte, em MB, para cada solicitação de várias partes. |
multireq_max=20 |
Define o número máximo de solicitações paralelas para listar objetos. |
max_dirty_data=5120 |
Descarrega os dados sujos em S3 depois que um número especificado de MB é gravado. O valor mínimo suportado é 50. Um valor de -1 desativa esse comportamento. |
parallel_count=20 |
Define o número de solicitações paralelas para fazer upload de objetos grandes. O site s3fs faz upload de objetos grandes usando solicitações de várias partes e envia solicitações em paralelo. |
max_stat_cache_size=100000 |
Define o número máximo de entradas no cache de estatísticas e no cache de links simbólicos. |
retries=5 |
Define o número de vezes para tentar novamente uma transação S3 que falhou. |
kernel_cache |
Ativa o cache de buffer do kernel para o ponto de montagem do volume. Os dados que são lidos em IBM Cloud Object Storage são armazenados no cache do kernel para ajudar a proporcionar um acesso de leitura mais rápido. O cache do kernel
está ativado para as classes de armazenamento padrão e inteligente s3fs. |
Opções de montagem padrão da classe de armazenamento rclone
As classes de armazenamento rclone usam as seguintes opções de montagem padrão.
| Opção de montagem | Descrição |
|---|---|
acl=private |
Garante que os objetos carregados não sejam acessíveis publicamente. |
bucket_acl=private |
Define a ACL padrão dos compartimentos que rclone cria para private. |
upload_cutoff=100Mi |
Faz upload de arquivos maiores que 100 MiB usando upload de várias partes. Arquivos menores são carregados em uma única solicitação. |
chunk_size=16Mi |
Define o tamanho de cada parte em um upload de várias partes. |
max_upload_parts=1000 |
Define o número máximo de partes por upload de várias partes e, indiretamente, limita o tamanho máximo de arquivo suportado com o chunk_size configurado. Com chunk_size=16Mi, o tamanho máximo do arquivo é 16 GiB. |
upload_concurrency=8 |
Define o número de partes que são carregadas em paralelo durante um upload de várias partes. |